Serenity.DateEditor initialization sets value to date - 1 day

Brand new Serene project with all options (AdminLte, Northwind and Basic Samples)
Go to the "Default Values In New Dialog" page
Click the "+ New Order" button
Issue : Required Date is set to "new Date() - 1 day" but the code sets it to "new Date()"
*Also in some occasion when saving, the date is set back again one day. (Ex the date editor shows "2020-08-17"  but saves "2020-08-16"
Nuget versions.
Serenity.FluentMigrator.Runner V1.9.604
Serenity.Scripts V3.14.0
Serenity.Web.Assets V3.9.2
Serenity.Web V3.14.0

I have similar problem.
Some users, when they edit record, the ReadOnly date field is set one day back. They cannot change it, and I cannot figure out what is going on.
It only started recently, end of July or so... so I am afraid it was introduced in recent version...

Well, Actually it started 6th of July 2020 according to my Audit Log...
so it was prolly introduced in 3.13.4

I actually have guy, who with 4 consecutive saves went from 2020-07-03 to 2020-06-29
then they fixed up this date and it happened again. OMG

And for this guy, all the displayed date fields are decreased EVERY TIME
so it may be a browser thing, as until now only saw one field, the Date in question...

well, there are fields, that change that are not even visible for the user!!!

this guys decrements even invisible dates every time:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15

@danlem what browser do u use?
I was not able to replicate this on FF and Chrome on PC yet

I am using Chrome but same thing happens in latest version of Firefox

I downgraded to 3.13 (Serenity.Scripts and Serenity,Web) but it still has the problem.
Downgraging to 3.12 fixed the problem for me
Plus the icon on the date picker is better in this version

Hmm, looks like a UTC conversion issue, what is your time zone?

Sorry for the delay, I'm on vacation.
My timezone Eastern Daylight Time (currently UTC - 4)

servers are UTC-4, but users are from all over place.
I will try to figure out their time zone

Seems like the problem is with how browsers are handling date parsing when user time zone is UTC-4 (or any minus)
Open Chrome console and type these:
new Date('2020-09-08')
Mon Sep 07 2020 20:00:00 GMT-0400 (Amazon Standard Time)
new Date('2020-09-08T00:00:00')
Tue Sep 08 2020 00:00:00 GMT-0400 (Amazon Standard Time)
I think this looks pretty stupid, or there is some logic here that is out of my grasp

Oh, you have new avatar... nice.
Same in latest FF:
new Date('2020-09-08')
Date Mon Sep 07 2020 19:00:00 GMT-0500 (Central Daylight Time)
new Date('2020-09-08T00:00:00')
Date Tue Sep 08 2020 00:00:00 GMT-0500 (Central Daylight Time)

ok try with 3.14.1 hope it fixes the issue

will do and report back here. I personally was not able to reproduce it, but I will see it in the logs.
just out of curiosity, how do you make field, that's NOT read only just for certain role (Admin)
normally I tag fields
Insertable(false), Updatable(false)
but I cannot turn that off in Form

Solved in a5e1d88ef7d5bfb80240dc57b15d6eb15291debe


Set fog distance in biome config

it would be great to see a feature where you could set the fog distance by biome. I believe it should be possible as a few other mods do it (e.g. Biomes o' Plenty). One application would be to provide a misty effect to jungles, swamps, highlands etc. Another application would be for servers or adventure maps to force visibility down, regardless of players' render distance settings.
Apologies if it is already possible to do this. I did look pretty hard through the configs & wiki.

Interesting idea. Would be great for swamps.


Kali Linux 2022.2 released

Kali Linux 2022.2 released here: https://www.kali.org/blog/kali-linux-2022-2-release/
We need to test EMBArk on it

Hello Benedikt,
I also tried the latest 2022.2 kali linux with EMBArk, I would share some findings.
I tested this firmware:
https://dlcdnets.asus.com/pub/ASUS/mb/BIOS/PRIME-B560M-K-ASUS-1601.zip
After uploading the CAP file I entered the details of the firmware like this:

and ran the scan. I opened the final report in EMBArk and the numbers were missing on the final aggregator page:

The device and the additional notes fields are not the same as I have entered the original data before starting the scan. I think this is not a new issue I have experienced the same a few weeks ago also.
In my scan there is a stacs_pw_hashes page in the report, if I open it I got an error page:

I executed 2 different scans but the main page does now show any statistics about the results:

and I tried the delete function again, it was working, but the report page contains the deleted firmware which is not bad I think, but if I open the detailed view I get an almost empty page, only the entropy picture is shown:

Used system:
https://kali.download/virtual-images/kali-2022.2/kali-linux-2022.2-vmware-amd64.7z
VMware Workstation Pro
I installed EMBArk yesterday: 05/28/2022
I didn't have any errors or issues during the installation.
Regards,
torabi

Hi torabi,
in order to get rid of the whole "direct user-input into root-shell"-problem, we will probably get rid of all user-input in the EMBA-command.
-> Not a bug but intended behavior
(for now it just gets rid of special chars)
The Attribute-Error is a bug I'll squash.
Did the EMBA process finish correctly?
You could check the emba.log file(s) (under /app/www/emba_logs/)

Hi,
I did a new installation but the folder is empty:
kali㉿kali)-[~/embark/www/emba_logs]
└─$ ll
total 0
If I execute az emba scan there is some content but right after installation there was nothing.
I am going to do some new scans to see the behaviour of the system.

I think the empty main page was a temporary issue, I did a new installation with the same releases tonight and after the 1st scan the page was OK:

after this I deleted the scan/FW and on the details list I opened the details view and I got the same empty page with the entropy graph:

If this page is available it should display the full content maybe.


aliases cannot be founf when using help

$ drive help cp mv ls

Will instead give help for all commands which is the case for unknown commands.

Addressed by PR https://github.com/odeke-em/drive/pull/422


Add languages attribute

Add an attribute to track a character's native language(s).

Added in commit fc65a95ac63d8abde26336d6689c0833aa7112aa


Making your own compiler

I think that will be a nice topic to add to the list. Making your own compiler really helps you understanding how they work.

Here is a good starting point: Compilers, Principles, Techniques and Tools written by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman.

At my university, it's a required class for CS students and optional for students taking engineering/software related programs.
Great topic, very well studied and useful - definitely worth adding to the list

I seriously want to learn that

There is also a book called crafting interpreter's which is good to start.
You can get it for free or read online.


docs: add documentation for implementing CircleImageView with Picasso…

Thanks for this library and a huge fan of your work. I had a little bit of trouble implementing Glide at first so I thought I'd add some details on the documentation. Also added Picasso and normal image binding just to be thorough.

Thanks for your contribution @CarloAntonio. I'm hesitant to merge the changes as the additions are actually basic general Android code and not specific to this library. I'd expect everyone using this library to be able to bind an image to an ImageView.


Introduce taker ActorSystem

The connection actor is a real actor yet, however it should be enough to
abstract away from the production I/O.

Minor fixes like imports and stuff can still go in. I would like to hold off with refactorings like the ActorSystem until we did the release :)
Meaning we can either split out the minor changes as commits or we just pause the entire one until we did the release.

Happy to pause it, as the release is not far off :)

Minor fixes like imports and stuff can still go in. I would like to hold off with refactorings like the ActorSystem until we did the release :)
Meaning we can either split out the minor changes as commits or we just pause the entire one until we did the release.

@thomaseizinger made a release earlier today - we can think about merging this one now 💭


⚠ Bofrost.lu has degraded performance

In c9b9139, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1340 ms

Resolved: Bofrost.lu performance has improved in 3ea4514 after 48 minutes.


dart roller failing to load windows artifacts

The dart roller is stuck.  It appears to be trying to load artifacts from dart windows builds, but it is failing to do so.  I'm not sure where the failure is.  Hopefully the infra team has a better idea.
Example failed roll: https://github.com/flutter/engine/pull/37759
Error log
________ running 'cipd ensure -log-level error -root C:\b\s\w\ir\cache\builder -ensure-file C:\b\s\w\ir\x\t\tmpq63vqxx5.ensure' in '.'
Errors:
  failed to resolve flutter/dart-sdk/windows-arm64@git_revision:d4cff06c810cf486d190e6e05f8e50f4525d22d6 (line 8): no such tag
Error: Command 'cipd ensure -log-level error -root C:\\b\\s\\w\\ir\\cache\\builder -ensure-file C:\\b\\s\\w\\ir\\x\\t\\tmpq63vqxx5.ensure' returned non-zero exit status 1
Errors:
  failed to resolve flutter/dart-sdk/windows-arm64@git_revision:d4cff06c810cf486d190e6e05f8e50f4525d22d6 (line 8): no such tag

cc @a-siva in case he has some dart background on the issue of the missing artifacts

Looks like the Dart infra failed to build the windows artifacts: https://ci.chromium.org/ui/p/dart-internal/builders/ci/dart-sdk-win-arm64-dev/61/overview

The dart windows build has happened now.  In theory the autoroller should keep rolling and pick up the artifacts on the next roll.

The dart windows build has happened now. In theory the autoroller should keep rolling and pick up the artifacts on the next roll.

same error when run "gclient sync"

Looks like this is a duplicate of the more recent https://github.com/flutter/flutter/issues/116107 now.


Does MOCO support multipart/form ?

Hi Dreamhead
As tittle, when I send multipart/form request, 400 bad request will be got...
Any solution or workaround for this?
Thanks!

POST /application/deploy HTTP/1.1
Authorization: Basic YXBpOm1hbmFnZXI=
Content-Length: 1780
Content-Type: multipart/form-data; boundary=ChnId1zKDLlln7wtZzoeIt6dmuBTcG_C
Host: localhost:22222
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_45)
Accept-Encoding: gzip,deflate

19 Dec 2016 17:18:30 [nioEventLoopGroup-2-2] INFO  Response return:
HTTP/1.1 400

I'm not quite sure how you use form in your code. An example is as following:
server.post(eq(form("name"), "dreamhead")).response("foobar");

Refer to form for more information.

I'm trying to use JSON format to mock file upload (a Multipart request), but moco cannot support it.
The reason is Multipart request contains a generated boundary:
  {
    "description": "user_can_upload_file",
    "request": {
      "uri": "/api/files",
      "method": "POST",
      "headers": {
        "Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryKgNrZfGWAQ59LuVd"
      },
      "file": "api/multipart.txt"
    },
    "response": {
      "status": 201,
      "headers": {
        "Location": "http://{host}:{port}/api/files/{file-id}"
      }
    }
  }

api/multipart.txt:
------WebKitFormBoundaryKgNrZfGWAQ59LuVd
Content-Disposition: form-data; name="file"; filename="hello.txt"
Content-Type: text/plain

hello
------WebKitFormBoundaryKgNrZfGWAQ59LuVd
Content-Disposition: form-data; name="fileGroup"

INSTITUTION_CERTIFICATION
------WebKitFormBoundaryKgNrZfGWAQ59LuVd--


fix: add ignoring EmptyVarbinds SNMP error and unit tests

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


Add finiteness indicator of control section

Checks

[x] Debugging completed
[ ] Please debug me

Related Issue
This PR closes #400.

Codecov Report
Base: 84.33% // Head: 84.21% // Decreases project coverage by -0.11% :warning:

Coverage data is based on head (bbeeebc) compared to base (27ede63).
Patch coverage: 38.46% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #401      +/-   ##
==========================================
- Coverage   84.33%   84.21%   -0.12%
==========================================
  Files         124      124
  Lines        5216     5234      +18
==========================================
+ Hits         4399     4408       +9
- Misses        817      826       +9

Impacted Files
Coverage Δ

neclib/coordinates/path_finder.py
45.45% <38.46%> (+0.33%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


libspnav: remove nonstandard patches, fix segfaults

Motivation for this change
The existing spacenav packages include patches to support running spacenavd as a user service.  Upstream does not support this configuration, and recommends to run spacenavd as a system service instead.  The patches also seem to cause segfaults at least in FreeCAD: #115150.
This PR removes the nonstandard patches and runs spacenavd as a system service instead.  I have tested this configuration with a SpaceMouse Compact.  It works out of the box with FreeCAD, Blender, and OpenSCAD.
spnavcfg only works if you run it as root because it edits the configuration file located in /etc/spnavrc.  We might want to generate this configuration file via the nixos module instead, but (a) I'm not sure if this is a good idea (the tool allows you adjust the sensitivity, etc., which is hard to get right without interactive feedback), and (b) this should be done in a separate PR.
@Sohalt I'm not opposed to patch spacenavd to run as a user service.  But these patches require more testing.  In particular they should not cause FreeCAD to segfault.  It should also be tested that you can still run FreeCAD on non-NixOS systems (with spnav support).  And spnavcfg probably also needs to be patched as well.
Fixes #115150.
See also #94234 (which is now almost obsolete except for patches to support wireless devices, which I can't test).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This will probably break freecad, blender and openscad build for macOS

Good point, I've changed it to only enable spacenav support on Linux.

Sorry for the late reply. I fixed the patches in https://github.com/NixOS/nixpkgs/pull/118617 but there are still open questions.


Can't save the custom Settings

Can't save the custom Settings, cause I lose my Settings when I switch themes or some other behavior

which settings do you mean exactly?

which settings do you mean exactly?

color Settings

Which color setting???? Until you provide enough information or explain the problem I can't help. Describe the problem in a way so I can reproduce it.

Yes, that is correct. If you only use one theme (for example dark), then you can change the colors, and they will stay as you selected. But if you are switching between themes, then you need to save your color settings in a theme. Give it a name, an save it. Also note, that you can also select if the theme is a default light or a default dark theme. This means, that if you change Obsidians theme (not the plugins theme), then the plugin will automatically select the default light/dark theme accordingly. I hope it is understandable. If not, just ask :)

Yes, that is correct. If you only use one theme (for example dark), then you can change the colors, and they will stay as you selected. But if you are switching between themes, then you need to save your color settings in a theme. Give it a name, an save it. Also note, that you can also select if the theme is a default light or a default dark theme. This means, that if you change Obsidians theme (not the plugins theme), then the plugin will automatically select the default light/dark theme accordingly. I hope it is understandable. If not, just ask :)

Thank you. I understand the logic of the setup.


Adding supporting for s3 bucket replication

what

Adding support for BYOB (Bring-Your-Own-Bucket) S3 replication
To use this new future, just set s3_enable_replication to true,  and provide a destination s3 bucket arn in s3_replica_bucket_arn
Updating documentation w/ example

why

Allows the user to replicate state to another s3 bucket (e.g. in another region)

/test all

/test all

/test all


feat(sns): collect sns message attributes and headers

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


where to configure queues & channels name for their monitoring through Prometheus on cloud paks for integration

Hello,
i have created a queue manager using cloud paks for integration V2020.1.1 over Openshift 4.4, i am looking after the monitoring capabilities using bundled Prometheus & Grafana. I could see some queue manager stats coming as default in the grafana dashboard, but can't find how to configure the queue names or channel names to monitor. I could see the one of the K8 services object is created for port 9157, but can't see any MQ service  objects created which listen on port 9157 on container . Need help to find how to configure queues & channels monitoring here & where is the monitoring service running on mq container.

ocpadmin@linuxvm:~/ocp-install$ ./oc rsh -n mq mqhelmtest-ibm-mq-0
sh-4.4$ dspmq
QMNAME(mqhelmtest)                                        STATUS(Running)
sh-4.4$
sh-4.4$ runmqsc mqhelmtest
5724-H72 (C) Copyright IBM Corp. 1994, 2019.
Starting MQSC for queue manager mqhelmtest.
AMQ8521I: Command completion and history unavailable.
dis service()
1 : dis service()
AMQ8629I: Display service information details.
SERVICE(SYSTEM.AMQP.SERVICE)
AMQ8629I: Display service information details.
SERVICE(SYSTEM.DEFAULT.SERVICE)
   :

end
2 : end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
sh-4.4$
sh-4.4$ pwd
/
sh-4.4$
sh-4.4$ ls
@System.solv  bin  boot  dev  etc  home  lib  lib64  licenses  lost+found  media  mnt  opt  proc  root  run  sbin  srv sys  tmp  usr  var
sh-4.4$ ls opt
MQOpenTracing  mqm
sh-4.4$ ls opt/mqm
READMES  bin  gskit8  inc  instinfo.tsk  java  lib  lib64  licenses  mqpatch.dat  msg  samp  swidtag  web
sh-4.4$
sh-4.4$

Thanks,
Sumit

The metrics endpoint only offers queue manager-level metrics.  If you want queue- or channel-specific metrics, I'm afraid you'll need to add your own metrics endpoint.  This can be done in addition to the main metrics, using the mq-metric-samples.  You can run another Pod which will subscribe to the queue manager pub/sub topics, and emit them as Promtheus metrics.

Hi Arthur,
Thanks for your reply.
so, where is the metric services hosted in the container for which we have port 9157 listening it ?
Also i am of the view that by giving options for queue & channel specific metrics using Prometheus without any external/ other pod would also eliminate the need of any custom monitoring tool / scripts & at the same time if the feature is bundled within, it would give me at least more option to convince my customer on cost reduction for running their MQ on cloud paks for integration.
would like to get your thoughts on it...

The current metrics are hosted by the runmqserver process, which creates a local bindings connection to the queue manager to listen for message on the pub/sub statistics topics.
I agree that it is a good idea to add queue and channel specific metrics, but it just hasn't been done yet.  It isn't entirely trivial, as you can't just subscribe to "all queues", and have to be told names of specific queues.


Should  be collapsed when around other spacing elements?

Should the "nextline" generated by a
 tag be collapsed when it is surrounded by other elements which generate a "nextline"
Example: what is the expected content.value for the following?

     Hello

World

Hello\nWorld
Hello\n\nWorld

cc: @Zegnat

Not according to the WHATWG innerText rules. There
 elements are added as \n strings, while the collapsible line breaks are added as integers.
I would agree with that. I feel like
 elements should be “uncollapsible”, as they are breaks that were specifically authored by the writer. If they decided some part of the content required three consecutive breaks, then we should respect that.

innerText according to Firefox follows this and keeps it:
Hello

World

That is 1 \n from the
 and 2 from the
 (because innerText does two line breaks for paragraphs): Hello\n\n\nWorld.


Grand prix cycliste de québec 3.3.9

updates mime to latest version

Coverage remained the same at 98.824% when pulling 35a8d33edf7a39f739f6f08aa23522a71dc03ec7 on Grand-Prix-Cycliste-de-Québec-3.3.x into 48a5b537c42c00d7bf2960d71460dc2891dc390d on master.


[Improve UI] Can I contribute to it

You can improve the UI more by adding different fonts, color of fonts and more things.
Can can contribute to your project and improve a few things?

What are your ideas?

Change colors
Change font family
Add margin, padding at some places.
What do you say?

Colors like in the main page, you mean, or the ones for the text. Оtherwise the 2 and 3 points sound good to me.

-------- Оригинално писмо --------

От: Jay Kumar Gupta @.***

Относно: Re: [VasilenaA/VasilenaA.github.io] [Improve UI] Can I contribute to
it (Issue #2)

До: "VasilenaA/VasilenaA.github.io"

Изпратено на: 20.03.2023 19:16

Change colors
Change font family
Add margin, padding at some places.

What do you say?
—
Reply to this email directly,  view it on GitHub , or  unsubscribe .
You are receiving this because you commented.  Message ID:    .  github  .  io/issues/2/1476635086  @  github  .  com>


Jest freezes at startup

🐛 Bug Report
Jest freezes at startup without showing any output on the cli. It never stops and curiously doesn't consume much cpu resources, leading me to believe that it hangs before actually running tests. I've included a link to a repo where the issue is reproducible below.
To Reproduce
Steps to reproduce the behavior:

clone the branch upgrade_deps from https://github.com/marvinhagemeister/microbundle/
run yarn jest or yarn test
... jest freezes at startup

Expected behavior
Jest should start and execute tests.
Link to repl or repo (highly encouraged)
Branch upgrade_deps at https://github.com/marvinhagemeister/microbundle/
Run npx envinfo --preset jest
Paste the results here:
$ npx envinfo --preset jest
npx: installed 1 in 1.964s

  System:
    OS: macOS 10.14
    CPU: (8) x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
  Binaries:
    Node: 11.1.0 - ~/.nvm/versions/node/v11.1.0/bin/node
    Yarn: 1.12.3 - /usr/local/bin/yarn
    npm: 6.4.1 - ~/.nvm/versions/node/v11.1.0/bin/npm
  npmPackages:
    jest: ^23.6.0 => 23.6.0

@marvinhagemeister it does not hang for me when following your repo steps - can you run --clear-cache and try again?

@rickhanlonii Thanks for looking into it. Turned out that watchman wasn't behaving correctly. Simply re-installing it via homebrew fixed it for me. Thanks again for your time :)


Remove unnecessary classes on word-count and binary

I believe such simple exercises do not need the unnecessary coding overhead of creating classes, so I changed them into single  functions.

Good call--we've made that change in a number of the other tracks as well. Thanks!


(BOLT-591) Update REFERENCE.md layout

Drop TOC, it doesn't map well to the docs page format. Also use headers
for signatures rather than line separators that also don't work well
with the docs page format.

CLA signed by all contributors.


Regression: install fails on Windows due to breakage in signal-hook 0.3.11

Describe the bug
cargo install probe-run fails to install on Windows 10
To Reproduce
cargo install probe-run
Expected and observed behavior
Expected behavior: installation completes successfully.
Observed behavior:
error[E0412]: cannot find type `sigset_t` in this scope
   --> C:\Users\9names\.cargo\registry\src\github.com-1ecc6299db9ec823\signal-hook-0.3.11\src\low_level\signal_details.rs:149:36
    |
149 | unsafe fn prepare_sigset(set: *mut sigset_t, signal: c_int) {
    |                                    ^^^^^^^^ not found in this scope

error[E0425]: cannot find function `sigemptyset` in crate `libc`
   --> C:\Users\9names\.cargo\registry\src\github.com-1ecc6299db9ec823\signal-hook-0.3.11\src\low_level\signal_details.rs:150:11
    |
150 |     libc::sigemptyset(set);
    |           ^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find function `sigaddset` in crate `libc`
   --> C:\Users\9names\.cargo\registry\src\github.com-1ecc6299db9ec823\signal-hook-0.3.11\src\low_level\signal_details.rs:151:11
    |
151 |     libc::sigaddset(set, signal);
    |           ^^^^^^^^^ not found in `libc`

Some errors have detailed explanations: E0412, E0425.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `signal-hook` due to 3 previous errors

Operating System:
Windows 10
Additional context
Installation succeeds from a local clone of probe-run with signal-hook = "=0.3.10" specified in Cargo.toml

Huh, does cargo install ignore the Cargo.lock? Because that's still on 0.3.10.

Upstream issue: https://github.com/vorner/signal-hook/issues/125
Not sure if it makes sense to do anything here, but the lockfile is checked in to specifically prevent issues like that, weird that it doesn't work.

Working fine again now.

does cargo install ignore the Cargo.lock

That is indeed weird now that you mention it. I might look into it this weekend - hopefully not a cargo bug.


aumix fails to evaluate

Issue description
[nix-shell:~]$ nix-env -i aumix
error: attribute ‘features’ missing, at /home/deepfire/src/nixpkgs/pkgs/os-specific/linux/phc-intel/default.nix:7:9

Technical details

System: NixOS master, as of Feb 10 2017
Nix version: 1.11.6
Nixpkgs version: 17.03.git.ca8fb930b1

I think it's fixed after fc54ece4709d39a9feaa61600d23a0490ce49bd1.

This issue is fixed on 17.09 and unstable.


Use the usb descriptors to list possible devices

The lower library already does this. We should be able to easily list all ports on the device that are most likely connected to a PSU.

Added in f8cb6f6501daa746200d01a8d24575b7b8bd805f


HP Regeneration Meter doesn't work with Fast Metabolism relic set effect

Environment:

OS: Windows 10
RuneLite version: 1.8.10
Launcher version: 2.1.6

Fast Metabolism is no longer in game.


Continue train in R: what is begin_round?

Suppose I train a model in R with
begin.round = 1
num.round = 10
and now I would like to continue training for 20 epochs, do I have to set
begin.round = 11
num.round = 20
or
begin.round = 11
num.round = 30
or something else?
I am very confused because mxnet lets me insert any arbitrary number for the begin.round argument. For example:
begin.round = 15
num.round = 30
does also work, but it should not since I only trained for 10 epochs and clearly cannot beginn training at epoch 15.

I had the same question a while ago, I now use this:
begin.round =n.rounds, num.round=n.rounds+extra.iter

Wouldn't
begin.round =n.rounds + 1
make more sense?
Anyway, that still does not explain why MXNet allows to use any arbitrary integer for the
begin.round argument

Ya I dont think it matters.  All you are actually doing is selecting a slice in a vector to add new content.  It doesnt matter where you start and end.  It is up to the user to select the correct slice.

@nswamy @sandeep-krishnamurthy Please label this - "R", "Bug".

Hi @NiklasDL Thanks for trying out MXNetR.  I understand your confusion regarding begin.round and num.round. As @some-guy1 suggested, the right way to think is
begin.round =n.rounds+x, num.round=n.rounds+extra.iter+x
where x>0 and n.rounds is the number of epochs for which model was trained previously.
@nswamy @sandeep-krishnamurthy Please close the issue as it has been resolved.
@NiklasDL Feel free to reopen in case closed in error.


It's possible to do fine tuning?

I would like to try to customize your project with my dataset, to re-identify another object like a suitcase on a conveyor belt instead of people.
What should I change about your code?
I have my coco-dataset I want to use it to do the training.
Thank you.

You can write your own data_manager.py to load your dataset.


allowNewLine does not work

This doesn't seem to work at all.  I've fed canvas-text-wrapper with string literals containing \n \\n \r\n \\r\\n \\\n \\\\n and pretty much every other combination of line breaks.  In no cases does it break a line.

somehow I ended up with a version of canvas-text-wrapper that created newLineIndexes but never used them. :(


[Python] Using early_stopping_rounds with GridSearchCV / GroupKFold

I'm using LGBMRegressor with sklearn.model_selection.GridSearchCV, with cross-validation split based on sklearn.model_selection.GroupKFold. When I include early_stopping_rounds=5 in the estimator, I get the following error:
ValueError: For early stopping, at least one dataset and eval metric is required for evaluation
Without the early_stopping_rounds argument the code runs fine.
I could be wrong, but it seems that LGBMRegressor does not view the cv argument in GridSearchCV and groups argument in GridSearchCV.fit as a legitimate eval dataset.
Is there a proper way to use early_stopping_rounds with GridSearchCV / GroupKFold?
Thank you.

maybe you can use GroupKFold + ParameterGrid to simulate GridSearchCV. http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.ParameterGrid.html
btw, could you give a simple runnable case we can debug on? we might try make GridSearchCV work. thanks

Here is a simple version of the code that runs fine. Uncommenting early_stopping_rounds=5 breaks it for me.
import numpy as np
import pandas as pd
import lightgbm as lgb
from sklearn.model_selection import GridSearchCV, GroupKFold

np.random.seed(1)

# Build 2 categorical features, 3 float ones & an error term:
categorical_df = pd.DataFrame(np.random.randint(2, size=(1000, 2)), columns=['cat01', 'cat02']).astype(int)
float_df = pd.DataFrame(np.random.rand(1000, 4), columns=['aa', 'bb', 'cc', 'error'])

# Build a group feature for GroupKFold (k=4):
kfold_df = pd.DataFrame(np.random.randint(4, size=(1000, )), columns=['grp'])

# Assemble features into a df.
df = pd.concat([categorical_df, float_df, kfold_df], axis=1)

# Create a dependent variable.
df['yy'] = \
df['aa'] + 2 * df['bb'] + \
df['cc'] * df['cat01'] + \
df['error'] * (1 + df['cat02'])

# Identify our X, y & categorical columns.
Xcols = ['cat01', 'cat02', 'aa', 'bb', 'cc']
y_col = 'yy'
categoricals = ['cat01', 'cat02']

# Set up and run LGBM with GridSearchCV based on GroupKFold.
gkf = GroupKFold(n_splits=4).split(X=df[Xcols],
                                   y=df[y_col],
                                   groups=df['grp'])

param_grid = {
    'num_leaves': [31, 127],
    'feature_fraction': [0.5, 1.0],
    'bagging_fraction': [0.75, 0.95],
    'reg_alpha': [0.1, 0.5]}

lgb_estimator = lgb.LGBMRegressor(boosting_type='gbdt',
                                  objective='regression',
                                  bagging_freq=5,
                                  num_boost_round=50,
                                  learning_rate=0.01,
                                  eval_metric='l1',
                                  categorical_feature=[Xcols.index(col) for col in categoricals])#,
#                                   early_stopping_rounds=5) # REMOVING THIS ARGUMENT MAKES THE CODE RUN OKAY

gsearch = GridSearchCV(estimator=lgb_estimator,
                       param_grid=param_grid,
                       cv=gkf)

lgb_model = gsearch.fit(X=df[Xcols],
                        y=df[y_col])

print(lgb_model.best_params_, lgb_model.best_score_)

I check GridSearchCV codes, the logic is train and test; we need a valid set during training for early stopping, it should not be test set.
Except this, early_stopping_rounds should pass to fit function like
lgb_model = gsearch.fit(X=df[Xcols], y=df[y_col], eval_set=(df[Xcols], df[y_col]), early_stopping_rounds=5), though it may not be what you want.

When I add eval_set and early_stopping_rounds to fit function as you did, I get:
TypeError: fit() got an unexpected keyword argument 'eval_set'
I'm using the following versions:
np 1.13.3
pd 0.20.3
lgb 2.0.10
sklearn 0.18.1

you can try our native api lightgbm.cv

I think that it is simpler that your last comment @mandeldm.
As @wxchan said, lightgbm.cv perform a K-Fold cross validation for a lgbm model, and allows early stopping.
 This means that you could just use lightgbm.cv for hyperparameter optimization, with early stopping embedded in each experiment (each hyperparameter combination). A very naïve (but correct way) to do so would be something like:
import lightgbm

# Whatever dataset you have

from sklearn.model_selection import train_test_split

train, test = train_test_split( # with your dataset

# Imagine now that you want to optimize num_leaves and
# learning_rate, and also use early stopping:
num_leaves_choices = [56, 128, 256]
learning_rate_choices = [0.05, 0.1, 0.2]

# We will store the cross validation results in a simple list,
# with tuples in the form of (hyperparam dict, cv score):
cv_results = []

for num_lv in num_leaves_choices:
    for lr in learning_rate_choices:
        hyperparams = {"objective": # whatever,
                                   "num_leaves": num_lv,
                                   "learning_rate": lr,
                                    # Other costant hyperparameters
                                 }
        validation_summary = lightgbm.cv(hyperparams,
                                                                 train,
                                                                 num_boost_round=4096, # any high number will do
                                                                 nfold=10,
                                                                 metrics=["auc"],
                                                                 early_stopping_rounds=50,
                                                                 verbose_eval=10)
        optimal_num_trees = len(validation_summary["auc-mean"])
        # Let's just add the optimal number of trees (chosen by early stopping)
        # to the hyperparameter dictionary:
        hyperparams["optimal_number_of_trees"] = optimal_num_trees

       # And we append results to cv_results:
       cv_results.append((hyperparams, validation_summary["auc-mean"][-1]))

Obviously, the nested for loops is a very basic approach. Fortunately, scikit-learn's ParameterGrid can build an iterator for you :)

@wxchan Is this solved ?

I received the same error “ValueError: For early stopping, at least one dataset and eval metric is required for evaluation”, my code are like this,obviously, I've set the 'eval_set' and 'eval_metic'
`lgbc_params = {
'boosting_type': "gbdt",    # string, optional (default="gbdt")
'num_leaves': 31,   # int, optional (default=31)
'max_depth': -1,    # int, optional (default=-1)
'objective': 'binary',     # string, callable or None, optional (default=None)
'random_state' : 100,   # int or None, optional (default=None)
'n_jobs' : -1,  #  optional (default=-1)
'silent' : 0, # bool, optional (default=True)
}
lgbc_fit_params = {
'eval_set' : [(x_eval,y_eval)], # list or None, optional (default=None)
# A list of (X, y) tuple pairs to use as a validation sets for early-stopping.
'eval_names' :['evalset'], # list of strings or None, optional (default=None)
'eval_metric' : ['f1'], # string, list of strings, callable or None, optional (default=None)
'early_stopping_rounds' : 10   # int or None, optional (default=None)
}
n_lr = np.linspace(0.01,0.2,19)
param_grid = {
'learning_rate':n_lr,
}
lgbc = LGBMClassifier(**lgbc_params)
gs_lgbc = model_selection.GridSearchCV(lgbc,return_train_score=True,
param_grid=param_grid, cv=5, refit=True,
n_jobs=1,verbose=0,scoring='f1')
gs_lgbc.fit(X=x_train, y=y_train, **lgbc_fit_params) `

@Interstella12 I think f1 is not the eval_metric in LightGBM. you can set it to a right one.

@julioasotodv
Given your code example above, where you loop through each parameter, I see that you have divided the data into train and test set. But then you don't seem to have used the test data from the split anywhere for validation.
I think there is something missing in the code or I am missing something very obvious. Can you explain, what purpose does the train-test split serve in that case ?

@quakig Indeed, I am not using the test set in the example.
In supervised ML, it is a good practise to have a separate, hold-out test dataset just for metrics purposes, once you have selected you best model and hyperparameters. This means that I am first separating a test set, then using lightgbm.cv for performing K-fold cross validation to try different hyperparameter combinations on the train (+ validation) set, and once those are chosen, see how well the model performs in the test set.
https://cdn-images-1.medium.com/max/1000/1*4G__SV580CxFj78o9yUXuQ.png shows an example (the first diagram).

I have a similar problem that is not solved. I want to do a grid search on a whole pipeline, so I cannot use cv.
IMO, it would be much better to have a parameter validation_fraction like MLPClassifier.
How is it done in cv? I suppose that it trains on k-2 folds, and uses one fold for validation and one for test. I don't think it would be particularly horrible to use a random fold for the validation.

I was able to use GridSearchCV with early stopping rounds.
Working example
model = LGBMClassifier(...)
...
cv = GridSearchCV(pipe, cv=ps, param_grid=param_grid, scoring='roc_auc')
cv.fit(x_train, y_train,
  model__eval_set=[(x_val, y_val)], model__eval_metric='auc', model__early_stopping_rounds=200,
  model__verbose=500)

@seahrh : Really? it worked this way? I am getting "fit() got an unexpected keyword argument 'model__eval_set'"

This works for me:
gbm = lgb.LGBMRegressor(num_leaves=31, n_jobs=-1)

param_grid = {
    "num_leaves" : np.linspace(10, 200, 4, dtype=np.int32),
    'learning_rate': np.linspace(0.1, 1, 5),
    'n_estimators': np.linspace(10, 1000, 5, dtype=np.int32),
}

gbm = GridSearchCV(gbm, param_grid, cv=3, scoring="neg_mean_squared_error", verbose=100, n_jobs=-1)
gbm.fit(X_train, y_train, eval_set=[(X_test, y_test)], eval_metric="rmse")
print('Best parameters:', gbm.best_params_)


Add scheduled travis tests restart

Copy of https://github.com/t3chnoboy/thepiratebay/pull/24#issuecomment-171931640
"what about setting up scheduled travis restart to automatically detect domain changes? I have http://traviscron.pythonanywhere.com/ in my notes, but don't have a chance to try it, perhaps there also should be others solutions."
Related to https://github.com/t3chnoboy/thepiratebay/issues/22
Just to be sure it won't lost

@ewnd9 Is it possible to do this inside of the travis.yml?

@amilajack there is cron support inside travis https://docs.travis-ci.com/user/cron-jobs/ but it requires manual application by email to be enabled

Please note that cron jobs are not enabled by default. Please ask us to unlock this feature for your repository<EMAIL_ADDRESS>

@t3chnoboy this is a good idea, considering how the getTvShow() and tvShows() methods were not working and caused tests to fail

Sounds great!
I'll contact travis ci support.

@amilajack @ewnd9 Done!


Datatable: hide settings dropdown if not required via datatable options

Hi. I noticed manageSettings option does nothing for the datatable, than I noticed that it's not being checked at all. Decided to PR a fix for that.
Additionally, I think we should hide the settings (ellipsis icon) dropdown altogether if none of the settings are required to show.

Thanks for the PR @amiranagram
I checked it for a bit, so your saying that if none of the options, refreshable, settings, and etc are present the icon still shows up, your PR basicly just hides the trigger all together if none are present, correct?
Please confirm that so i can merge & release a new version.

That is true @nikuscs. Also, I'm Yaz's friend and we want to help you with some issues, if that's ok.

Done thanks a ton @amiranagram


Added flag to download debug symbols

Added options to download debug symbols package.

Yes it works!

published in 1.2.0 :beers:


standalone-ha.xml misconfigured when DB is not localhost

The PG driver is configured using a datasource-class element. When the datasource-class is provided, the connection must be configured via a <connection-property name="url"> instead of a <connection-url> property.
If the postgres DB is not on localhost, the bootup fails because the datasource-class uses its default config of localhost:5432
For more details see the Wildfly issue tracker
https://issues.jboss.org/browse/WFLY-6157

Hi,
thanks for letting me know. I'm gonna look into it when I have some time to spare. If you care to send a PR that's greatly appreciated too!
Cheers,
Diego

Sure, I'll try and get a PR out. The fix I'm using is to insert the connection-property in addition to the connection-url (the connection-url cannot be dropped because the parser requires that entry). Does this approach work?

Yes, that works :)


User assertions do not work anymore

After upgrade to Keybase 1.0.7, user assertions do not work anymore:
$ keybase pgp verify --infile .public_keys/user.key --detached .public_keys/user.key.asc --signed-by "someuser@github || someother@github"
▶ ERROR assertion parse error: Unexpected 'OR' operator

There is really no documentation on this, and in the source code I see:
func NewLexer(s string) *Lexer {
	// We're allowing '||' or ',' for disjunction
	// We're allowing '&&' or '+' for conjunction

So I guess this has been broken.

I agree, we'll fix it. Thanks for the bug report. cc: @patrickxb

Signed by uses Identify to make user assertions, and Identify only allows ANDs:
func (e *Identify) loadExpr(assertion string) error {
    // Parse assertion but don't allow OR operators, only AND operators
    expr, err := libkb.AssertionParseAndOnly(assertion)

Right, but we should load the user by fingerprint (not by assertion) and then match the assertion to the full ProofSet.


Deploy TourGuide app in a Docker Swarm cluster

In a conversation with @KennethNagin, we've found an issue trying to deploy TourGuide in a cluster. After exposing to the host the following services at the following ports:

Orion: 1026
CEP: 8080
IDM: 443
TourGuide: 80

The application fails when redirecting the 'Log in' to IDM. The issue is caused for several reasons:

This configuration in the keystone_provision.py file:

    tourguide_app = keystone.oauth2.consumers.create(
        name='TourGuide',
        redirect_uris=['http://tourguide/login'],
        description='Fiware TourGuide Application',
        scopes=['all_info'],
        client_type='confidential',
        grant_type='authorization_code',
        url='http://tourguide',
        img='/static/dashboard/img/logos/small/app.png')

Assumes that the application is being deployed at http://tourguide.

The environment variables IDM_HOSTNAME and TOURGUIDE_HOSTNAME

Ater making the HOST at IDM provision at IDM configurable, we will need to modify the environment variables IDM_HOSTNAME and TOURGUIDE_HOSTNAME matching the requirements.

Apart from that, we will have to discuss about how to go through the images that loads their configurations with volumes. This approach breaks the development of the TourGuide in a Docker Swarm cluster.

What are those images? Why configurations are loaded using images?

The problem is not the images themselves, but the volumes mapped from the host used by those images, as they won't work when using Docker Swarm / Machine.  Some images (e.g. cygnus or the official pep-wilma image) allow or require you to provide a configuration file to configure the application and that, right now, is done via a volume from the host.  For this to work with Docker Swarm / Machine, we need to find an alternative solution:

Create an external volume where we can push the configuration and have the containers use that volume.

Have preconfigured images.  This is impractical if we need to use the official images.

Make the image automatically generate the configuration via a template and allow the user to change it via environment variables.  This is the approach we tried to use on our custom images.

Create a new image that holds the configuration files needed by other images and provide them as volumes for the other images to use.

The problem @KennethNagin faced was that the cygnus image loaded the configuration from a host volume.  To solve this, he made two approaches:

He tried to create a new cygnus image with the required files already in the image.

He modified the compose file to make the cygnus container download the configuration from a github repository prior to start the application.

From the current images, this are the ones that (may) have this problem:

cygnus:
Our custom image allow a simple configuration to be generated from a template via environment variables, but to use a more complex configuration it requieres the user to provide that configuration file to the container (i.e. via a volume).  The official image requires a volume to mount the configuration files.

pep-wilma:
Our custom image generates the configuration from a template via environment variables.  The official image requires the user to provide the configuration file via a volume (or use the default configuration).

idm:
Our custom image modifies the default configuration via environment variables.  The official image uses the default configuration.

other images:
The other images that we use don't need further configuration changes from the defaults used or can be tweaked via command line parameters (e.g orion).


Website not loading skins and acting slow

Website is taking ages to load anything today (06-10-2024) I'm in the UK
https://ely.by/skins/s1893810

The issue has been resolved. Sorry for inconvenience.


Operator CSV modifications: record it in koji build metadata

If user provides custom modifications to operator CSV file (isolated
builds, option --operator-csv-modifications-url) record this fact in
koji build metadata
CLOUDBLD-4623
Signed-off-by: Martin Bašti<EMAIL_ADDRESS>Maintainers will complete the following section

[ ] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Checklist?

Release notes:

new koji build metadata attribute extra.image.operator_manifests.custom_csv_modifications_applied (boolean) added to reflect if custom operator CSV modifications were used


how to migrate @ton-community/gamefi-sdk to @ton-community/assets-sdk

need guide on migrate @ton-community/gamefi-sdk to @ton-community/assets-sdk

Are you interesting in CLI or programming (node) usage?


Error : version of tensorflow

I want to know what version of tensorflow is used in shap.
I want to use shap to analyze a cnn model based on tensorflow. But encountered some problems, these problems seem to be caused by the tensorflow version. So I would like to ask whether this tool can be used to analyze tensorflow-based cnn models? What version of tensorflow does the current tool use? Looking forward to your reply. Thanks a lot.
error :

Please reply if you see this issue.

We try to support for 1 and 2, but it looks like model is None in your example, so some other issue is going on outside shap.


Remove direct user adding to organization members

Reason for this as this button is very confusing and there is no much point in adding user directly as organization member he will still not be able to do anything more than if he would not be added. It just makes people more confusion why user can not access or do anything. Users should be to added to repository members by adding user to one or more this organization team

Codecov Report

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

@@           Coverage Diff           @@
##           master    #2641   +/-   ##
=======================================
  Coverage   27.11%   27.11%
=======================================
  Files          86       86
  Lines       17062    17062
=======================================
  Hits         4627     4627
  Misses      11757    11757
  Partials      678      678

Continue to review full report at Codecov.

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

LGTM

So why github has this feature?

@lunny because in github that actually grants some rights for members (like creating new repositories under that organization and new teams) while in Gitea it does nothing and all rights are checked only by team. And to be honest Gitea way to me seems a lot better and could be used for more use cases

LGTM

One question before sleep. What about users that was added this way? Do you want to ignore it or make migration to remove them?

@Morlinest they will stay the same behavior with before. Organization owners could remove them from organization or add them to some teams.

They do not do any harm so they can stay. This change is just so that it would be less confusing and there would not be regular questions and issues that user is added to org. members but he still does not see nor can do anything


Add gfx900:xnack-, gfx1032, gfx1034, gfx1035

This change enables Tensile to be built for a few more architectures. None of the architectures being added are relevant to the official binaries distributed by AMD, but they're useful for users building from source. I'd have added gfx1013, gfx1033, and gfx1036 as well, but I'm not sure what names put in the architecture map.
The addition of gfx1031 in #1511 really was a really helpful guide in making this change.

The miscommunication relating to whether gfx900 should be gfx900 or gfx900:xnack- was never properly resolved and so many of the libraries that depend on rocBLAS use gfx900:xnack- in their default configuration.
This change allows both gfx900 and gfx900:xnack- to be accepted by Tensile, thereby allowing users that are building from source to choose whatever they prefer.

This change allows users to build rocBLAS from source for Navi23, Navi24 and Rembrandt.

On a gfx1030 machine, you can kind of test it by using export HSA_OVERRIDE_GFX_VERSION=10.3.2, export HSA_OVERRIDE_GFX_VERSION=10.3.4 or export HSA_OVERRIDE_GFX_VERSION=10.3.5 to test gfx1032, gfx1034 and gfx1035, respectively.
(It raises the question: if these architectures are so compatible that you can run code compiled for one on the other, perhaps Tensile should be doing something smarter than treating them as entirely distinct? That would probably be ideal, but it's not obvious how that should work.)


Please invite me to the GitHub Community Organization

Name
Divakar
Discord Username (if applicable)
DIVA#1399
Additional Context
Respected there,
I am searching for open source contributons where i can append my work and skills to the organisations. And also to learn many more things and be usefull to the community .

Thank you


ci: test match-resource

Leaving us to fix this one.

@jeromehan Kindly asking if you might have time to fix this?

ok

I will merge this, feel free to open a new pull request to fix this one.


No definition of ${installDir} in your script

[Enter feedback here]
You mention in your script the variable installDir - this is not defined - im assuming it's something to so with where ipsec is installed / configured but I have no idea where this is (my OS is Ubuntu 20).

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

ID: 69e3b74c-2e19-9963-bf78-2d0a01e6f906
Version Independent ID: 5fbd6b33-2af1-5f5d-b824-d3bbd5649956
Content: Configure a Point-to-Site (P2S) VPN on Linux for use with Azure Files
Content Source: articles/storage/files/storage-files-configure-p2s-vpn-linux.md
Service: storage
Sub-service: files
GitHub Login: @roygara
Microsoft Alias: rogarana

@simonbrommers Thank you for reaching out to us with your query, our team will review and get back to you at the earliest.

@simonbrommers For better understanding the query,   Can you provide more information on your query?

@simonbrommers  Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


Feat: assign snippet.priority when adding a snippet

By assigning the calculated priority when adding a new snippet, external projects such as cmp_luasnip can use this to properly sort suggestions. Currently, this priority is used to store the snippet in the by_prio table, which is inaccessible to outside modules. As such, it is currently impossible for outside code to accurately collect all registered snippets and sort by priority.

This (one line) diff would resolve this issue by assigning the calculated priority to the snippet, thusly exposing it to outside modules through `luasnip.get_snippets`

diff --git a/lua/luasnip/session/snippet_collection/init.lua b/lua/luasnip/session/snippet_collection/init.lua
index 33f05c0..433235c 100644
--- a/lua/luasnip/session/snippet_collection/init.lua
+++ b/lua/luasnip/session/snippet_collection/init.lua
@@ -233,6 +233,7 @@ function M.add_snippets(snippets, opts)
 					or (snip.priority and snip.priority)
 					or opts.default_priority
 					or 1000
+				snip.priority = snip_prio

 				-- if snippetType undefined by snippet, take default value from opts
 				local snip_type = snip.snippetType ~= nil and snip.snippetType

 This (4-line) diff is the changes required by cmp_luasnip to take advantage of this change. Note: this is *impossible* without this change
diff --git a/lua/cmp_luasnip/init.lua b/lua/cmp_luasnip/init.lua
index 4641579..40eb7ab 100644
--- a/lua/cmp_luasnip/init.lua
+++ b/lua/cmp_luasnip/init.lua
@@ -88,6 +88,7 @@ function source:complete(params, callback)
 							word = snip.trigger,
 							label = snip.trigger,
 							kind = cmp.lsp.CompletionItemKind.Snippet,
+              priority = snip.priority,
 							data = {
 								filetype = ft,
 								snip_id = snip.id,
@@ -98,6 +99,9 @@ function source:complete(params, callback)
 					end
 				end
 			end
+      table.sort(ft_items, function(a, b)
+        return a.priority > b.priority
+      end)
 			snip_cache[ft] = ft_items
 		end
 		vim.list_extend(items, snip_cache[ft])

If this change is accepted, I will be opening an issue at cmp_luasnip to request this change.

Hi :)
Yeah, that seems sensible, no reason not to include this data :D
I'll push a commit here, if you do a PR for cmp_luasnip, make sure to account for the case that priority may be nil (for older versions of luasnip) and default to 1000 if it is.

Okay small issue: if we reuse the name priority, we will use the wrong priority if the snippets are added again with a non-1000 default_priority (first added with default_priority=1000 -> priority set to 1000 -> added again with default_priority=1001 -> priority still 1000).
Now, this is a bit contrived, but maybe there is some usecase for doing stuff like this, and I'd like to not prevent it.
Let's use snip.effective_priority for this, we even have a tiny bit more info in that case (was the priority set by the user or not)


Refactor Acceptance tests to use ethers.provider

Description:
Related issue(s):
Fixes #183
Fixes #197
Notes for reviewer:
Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

LG
Let's merge it and introduce the refactoring benefits in a separate PR as mentioned in the comments above.


ARM64 support for kubectl

Currently the architecture is hardcoded in the download URL for kubectl at https://github.com/oracle-actions/configure-kubectl-oke/blob/main/src/main.ts#L27
An extra parameter could be added to configure the target architecture, defaulting to amd64 to not break any existing usage of the action.

Good suggestion, thanks.

I guess it would be better to populate this based on the architecture of the runner on which the action is currently running as opposed to requiring the user to configure it correctly.

@Djelibeybi agreed. I was just thinking of the configuration (after spending a good amount of time) to make this as easy to implement as possible.
In the meantime, I came across the setup-helm action as well and I saw those guys have implemented it. Probably copying it would be the easiest.
https://github.com/Azure/setup-helm/blob/main/src/run.ts#L110

@Djelibeybi had some spare time, did a PR, pls take a look: https://github.com/oracle-actions/configure-kubectl-oke/pull/31

Closed via #35


add docker env

Solve the issue #113

Thanks for the proposal! Where is the source of the Docker file? Maybe we could integrate it directly in this repository, what do you think?

@Hywan Yes, I think so

Thanks for your advice. I'll resolve it.

Thanks :-)


Unable to connect

I've followed all the instruction regarding with the installation and all of them are successfully done but when im trying to access in http://localhost:8080, unable to connect. What did i miss? Anyone please help. Im using xampp as my local server.

If you're using XAMPP as your local server, you haven't followed all instructions.
The instructions suggest using the PHP built-in server rather than one provide by XAMPP. Nonetheless you can of course use XAMPP, too. But then it's likely that your server is running under http://localhost, rather than http://localhost:8080. At least that's the default for XAMPP.


[ART-2974] Prevent unnecessary clone to determine RPM package name

https://issues.redhat.com/browse/ART-2974

Fixed the test.


Misc Conversation

This issue is just a place for chat that doesn't necessarily relate to an issue. I'm going to close it immediately so that it doesn't add to the normal issue count, but it can still be used for general conversation.

I'll be working on the grammar today. @matter123 did you seen the new tree sitter extension?
https://github.com/microsoft/vscode/issues/50140#issuecomment-493786052

I haven't had a chance to actually use it yet, but it looks pretty nice. I did notice that the syntax highlighting is rough in a few areas.for example parameter highlighting. Do you know if that's a tree sitter issue, a issue with the extension, or a bad theme choice?

@matter123 I'm pretty sure that's just a minor issue with the extension---it's only 3 days old! We need a C++ expert to come tweak the function that traverses the tree-sitter tree and applies colors:
https://github.com/georgewfraser/vscode-tree-sitter/blob/3b2d4cd2e5433af8620fe32cb35bab4479e15a60/src/extension.ts#L82

@matter123 So I looked into the Atom one awhile ago, because they're missing a lot of scopes. From what I understand the Tree sitter parses the whole thing and basically has its own tree-scopes, then there is an additional file that maps those scopes to the traditional TextMate names.
So for example, in Atom the lambda is correctly parsed by the tree sitter, but Atom incorrectly marks the -> it as member-access.
I'm not sure if the C++ tree sitter implementation is currently marking the difference between things like parameter-variables and just normal variable usage.

@matter123
tommorrow I'll look at lots of example files and log all of the scope changes before publishing. I plan on taking a look at the trigraph/digraph support and creating the @std_space. Then I'll start work on the dont_backtrack? feature for the textmate tools and look at the add-tag issue.

@jeff-hykin unless your planning on doing some more big changes today. I'm going to work on fixing the tests.

No big changes, I was just going to completely regenerate the tests though since so much has changed.

Yeah, it's taking me about 7 minutes per fixture so at 267 fixtures that comes out to 31 hours. regeneration is probably needed.

I added you to the experimental tree sitter repo @matter123 just so you'd have access if you wanted it. https://github.com/jeff-hykin/experimental-tree-sitter/invitations

@matter123 is there a way to automate the tagging releases?

npm version creates a tag with the new version, but that is an un-annotated tag (without a list of fixes and additions)

git config push.followTags true will make the tags produced by npm end up in the releases page. From there they should be able to be promoted to an annotated release.

Not sure what happened but your tagged version was from 184 commits ago

sigh How you you make the tags? I just used the "new draft" button on the tags page

Although I did it after running npm version and git config push.followTags true so that might have something to do with it

Pressing new draft is all I do. Was the branch you were on happen to be behind?

Oh I know what happened. You release 1.9 with the new enum pattern then reverted.

I generated the spec files for Objective C/C++ but for some reason all of them are missing the source tag. Any ideas why that is?

source is always the bottom of every single token, so the spec generator/tester just assumes that it's there and the spec files don't need it. Is something breaking?

The tests just fail because of the source scope

huh, let me take a look.

So the issue is that there are more scopes popped off in scopeEnd than are pushed on in scopeBegin
lines like attempted to pop meta.interface-or-protocol off scope stack, top of stack is storage.type, attempted to pop storage.type off scope stack, top of stack is source and attempted to pop meta.interface-or-protocol off scope stack, top of stack is undefined show the problem.

source is added in by the textmate parser https://github.com/microsoft/vscode-textmate/blob/master/src/grammar.ts#L442 this shouldn't be needed and produces duplicate source.cpp

The reason I added a manual one is so that it exists even inside of other languages, like markdown.

Since your going to investigate the performance regression, I pushed to Add/perf-inspect a very WIP perf inspector. run npm run perf -- /path/to/file

@jeff-hykin What is the purpose of the hidden portion of scope resolution. And why does it rematch the visible portion of the scope resolution?

Somehow they are slightly different and to be honest I've forgotten how exactly. I tried to combine them when I fixed the dot-access operator tag

Somehow they are slightly different and to be honest I've forgotten how exactly. I believe it's because the first one includes the generated one and the generated one includes the non-generated one. I think the tags don't get applied repeatedly when there is a "zeroOrMore()" so I think the re-matching colors them. There's probably a better way of doing it.
I tried to combine them when I fixed the dot-access operator, but it failed. Some patterns include the generated one and some include the non generated one.

Here's a quick summary of the current overview I'm thinking about (for reference to myself later)

fix the order within the different contexts, remove any duplicate contexts (like c_string)
create ranges for everything that can use {} (other than initilizer-lists)

function patterns

create the evaluation context (func( int a = 1 + 20 + 40)) for parameters
finish replacing legacy function patterns

operator overloads
destructor
constructor

add control flow patterns

create patterns for if/else/while/for/do/try/catch

add anonymous scopes {}'s that don't relate to anything
completely remove the old "block" pattern

create patterns for every kind of declaration in the root context

initializers patterns
variable declartions
variable assignment statements
typedef statements
other?

The goal is to have a defined difference of things like:

function defintions not allowed in function-definitions
if statements and variable declarations not being allowed inside evaluation contexts
etc

Once the contexts are pretty strict, I think we will actually be able to fix things like the vector<vector<>> problem and the issue of not tagging types/variables and I think the number of random bugs will decreace consiterably.

Per [basic.link]/1, the root context consists of one or more declarations.
A declaration can be (per [dcl.dcl]/1):

a block declaration
a function declaration
a template declaration
a deduction guide
explicit inistiation and specialization of templates
namespace definition
an empty definition
attributes

A namespace context should be identical to that of the root context
Block declarations are special purpose declarations (see [dcl.dcl]/1)
(all of this ignores modules)

We are actually in the process of implementing colorization based on IntelliSense, which we hope to include in the next release of the C/C++ extension.

Do you know much about the "colorization based on IntelliSense" they mentioned here?
I'm interested if its going to be a full-on replacement of the textmate syntax, and if so, when the next release is planned for.

Basically, color the same way the tree-sitter extensions do (by using text decorations), but the scopes come from their own internal language server.

Hey just wanted to let you know I'll work on this tomorrow, get the Assembly merged in (which is awesome btw 👍), work on #235, and then see if I can help out with the C style casting. After that I'll be doing the scope cleanup.

Well I didn't actually get to fix up the context scopes much. I spent most of today on the optimizations to the groups and the changing of the backtracking code.
std_space should work really well now, it took me awhile to get it working smoothly. There was an edge case that needed it to work between non-word and non-word e.g. the space between >;. I think this is the general behavior that is desired.
I created a tool on the Token class for helping avoid keywords. Hopefully bugs like #238 never show up again.
I couldn't find a very good assembly syntax, eventually I'll probably write a basic one then we can package it up with C++ and have a decent separate one.

The standard is intentionally omits any syntax information about the format of the string literal as that can change from target to target. To replicate that, the PR just included several grammars and hopes the one the user has installed is the one they want to use.
It doesn't make sense to bundle a nice x86 grammar when one might be using arm or atmel assembly.

It doesn't make sense to bundle a nice x86 grammar when one might be using arm or atmel assembly.
Thats true, I just meant just general patterns like a generic assembly syntax. $identifier, %identifier, .identifier, identifier:, []'s ()'s. All of the ones I installed couldn't even highlight the basics.

Pretty sure my screenshot was using https://marketplace.visualstudio.com/items?itemName=basdp.language-gas-x86

But assuming it was last there is no reason against providing some generic assembly support

I'll probably work on this tomorrow night and/or the day after. I spent tonight fixing Polacode (finally got it working just now) so that I can add some more screenshots and the themes to the readme.
I've also made a shell branch that adds an improved shell syntax. I'm not sure what I'm going to do with the branch, I don't actually want to fully support the language myself I just wanted the basics fixed for when I read/write shell code. I'll figure something out by Wednesday though.

The scopes are finally in an organized order, if this project was fixing a broken bone I'd consider it at the part where the bone is put back into the correct place. The next steps will be to fix the template definition syntax, update the operator overloads/constructor/destructor, and then make patterns for the control flow statements.
Today I redid the parameters. Now it uses a range to match the = *stuff* , section meaning there's no need for hacky fixes anymore when it comes to matching parameter types/variables. 🎉 I plan to do the same thing for the template definition syntax.
I didn't do anything with the shell-lang syntax yet. My plan though is to create a script that will iterate over each language and create/publish a separate extension for each one (all under the same repo). I'm not sure yet if its a bad idea or not.

Here's the updated todo list, feel free to work on any of them (or work on whatever else you want)
I think the control flow patterns and the new statement are the only things that need to get done before merging your C style cast in.

explore using a script to publish an extension per language
fix the template definition syntax
fix scope resolution if needed for templates
tag C++ operator-casting statements (easy)
get full patterns the control flow statements
a pattern for the new statements
merge in your C-style casts
see what can be done about tagging constructors
variable declarations
variable assignments
typedef statements
preprocessor issues
the C syntax

I think I'm going to start adding more languages to the repo. I have to write some stuff in perl and the perl syntax is just pitiful, the shell syntax needs changes, the python syntax doesn't tag ;'s, and the go syntax is very minimal and ruby has problems, and basically all of them break inside of markdown. I'll probably only maintain C++ and C, the other ones I'm probably just going to tack things on and not worry about the language specifications. Once textmate_tools is finalized and there's a systematic way of sharing patterns, I might try to convert the javascript syntax into ruby and see if it can be maintained here. The javascript syntax is really organized, it's basically up to spec so it would just be a matter of translation.

I think it might be a good idea to include std_space at the front of every pattern (moving forward) and intentionally not ever matching std_space at the end of any pattern.
Some patterns need it in order to do an effective lookbehind, but in that process they gain a higher priority. If all of the patterns do it though there won't be random priority problems. And the std_space at the end shouldn't be used because it will mess up the lookbehind of other patterns.
@matter123 do you think this rule of thumb would cause any problems?

It shouldn't be an issue. Do note, however, that that won't stop slow non-matching patterns from still being tested. https://github.com/atom/node-oniguruma/blob/master/src/onig-searcher.cc does not bail out early when the matchPos is 0.

Yeah performance is still going to be (or be more of) a problem. We might have to introduce intentional fast-failure into some patterns

Hey just FYI, if you're cleaning branches, the only branch of mine I plan on keeping is the  "original" branch. Feel free to delete all the others

@matter123 with the recent Perl issue, I wanted to let you know whenever I get back I plan to organize things. I'll stop commiting to master and do everything through merge requests. We can come up with an official branch naming scheme, and an issue template. I think the branch naming you've been following is good, probably just add a language (e.g. cpp/fix/#209). I'll work on localizing all of the language data (syntax.json, tags.txt, tests, fixtures, etc) to the language folders themselves, and rename this repo to something more generic like "better-syntax", and then coordinate those changes with Alexr00.
I plan to make this repo more centered around the library. Hopefully the tests can be formalized and wrapped up into an NPM package. Once the libraries are published I think each language can get it's own repo.

Its probably going to be next week before I get around to file structure refactor

Branch management. All lowercase.
For language-specific things
cpp/fix/#issue-number
cpp/add/feature-name
cpp/misc

All the other branches can start with a "special" char that isn't a language extension so that we never have naming conflicts. @matter123 I'm not sure what character to use, I was thinking - but that has problems with bash/shells so I'm thinking =
// changes to grammar
=tools/add/feature
=tools/fix/#issue
=tools/misc
// changes that significantly involve multiple languages
=multi/add/feature
=multi/fix/#issue

I think I'm going to generate the original syntax highlighting for each language under a different name, so that if people want to temporarily switch to the old syntax they can do it by selecting to highlight the file with a different language. This could help cover the edge cases for whenever there's a serious performance issue or serious bug. Once this is done we can delete the original branch

= is also not a good choice due to shell issues
git checkout -b =tools/add/feature
zsh: tools/add/feature not found

Instead of a special character, all other branches could start with a capital.
// changes to grammar
Tools/add/feature
Tools/fix/#issue
Tools/misc
// changes that significantly involve multiple languages
Multi/add/feature
Multi/fix/#issue

okay, thats a good idea lets go with that. So moving forward, I'll make sure all my new branches use that scheme and whenever we get around to it we can remove branches using the old scheme

Sorry I'm not more active. I'm working finishing up some other responsibilities before the next semester starts so it might be another week.

Saturday will prob be the next time I get to review branches and look at the other issues.
Doxygen and peaceshi's recent request for more pre-defined Microsoft macros, I think we should come up with an official list of the standards and C++ versions we support, and their priority if they ever conflict along with URLs to their specs. (C++ 2020, GNU, Microsoft, doxygen, emac's banners, etc)

So I'm thinking something like.

Current C++ Standard (C++17)
Current draft standard
Compiler vendor extensions sorted by popularity
Documentation comment standards sorted by popularity/ease of implementing
Conventions of popular c++ projects

I'll try to find example issues/ references for each in a bit.

I'll try to catch up on #368 and #339 tomorrow. I probably should've focused on #339 instead of the LaTeX branch

For the gem, do you @matter123 have any suggestions for how to incorporate the TokenHelper functionality?
I was thinking that the keywords and token names could simply be embedded in the pattern, but there is a challenge when a separate pattern needs to be anything except tokens with specific qualities. We can add the TokenHelper as-is to the gem/lib, but I wanted to see if you had any ideas for a better solution. I'm going to change the functionality of the TokenHelper to not pollute the global namespace (it is currently changing the negation operator for Symbol)

TokenHelper is certainly a good idea, but I'm not sure it's actually related to grammer generation. I'm thinking it should be a separate gem.

Well I do think it would be good to have one gem as an all-in-one toolbox for making a textmate grammar. I'm pretty sure most grammars have keywords that are going to need to be negatively searched for. The regex helpers pattnern.or(pattern) technically aren't really part of the grammar object either and I've though about making it into a separate regex library (unrelated to textmate) but I think it should say bundled as well.
What would you think if the tokens were actually more integrated by saving them on the grammar object?

Also I thought I'd let you know, I've been working on some tutorial blog posts to publish with the release of the gem to make it easier for people to contribute. It's prompted a decent number of design decisions/problems, so I created a better-c-syntax repo as a WIP place for how an ideal repo would be setup using the library. Right now it is very barebones.
I've been playing with git submodules, and I think they might be the best way to handle multi-language patterns. So for example the better-c-syntax has a imports folder where is has this (cpp-textmate-grammar) repo as a submodule. That way, it can import functions from a specific version of the C++ repo and changes that happen on the C++ repo don't have to affect C. Whenever desired, the C repo can easily pull the latest changes from C++ though if there are bugfixes. The imports don't have to be languages either, we could create a shared pattern repo that both C++ and C could pull from.

I'm not actually sure how well the grammar can be separated from the patterns. The grammar and it's plugins rely a lot in functions of the patterns. By testing gem do you mean the integration or unit tests. The integration tests kind of have to be JavaScript as as far as I know, the only open source textmate grammar parsers are in JavaScript (vscode-textmate, firstmate). Making the integration tester a separate npm package sounds reasonable, there are only a few grammar testers and iirc none are automated.
The grammar storing tokens sounds like a good idea.
I'll check out better-c-syntax.

Sounds good, I'll work on refining/simplifying the token helper and moving it into the grammar. It might be a good idea for the tokens to be created near their relevant code and imported to other pieces that need it so I'll consider that.
By testing I did mean integration, and yes I agree it will have to be javascript. However, there are some options. The ruby gem prompt the user to install the javascript package through npm, but even more simple than that, there's a decent number of ways to package Javascript into a cross platform executable that could be shipped with the ruby gem.
I realize I should maybe clarify, the pattern-matching of the better-c-syntax is what is barebones but the folder structure has most all of the pieces (although I'm still very uncertain that it is the best format). I feel that, whatever structure is decided upon might last for a long time so I hope to make it future-proofed and extendable.

Sorry I've been gone for awhile @matter123. I'll probably back some this next week for merging and catching up on everything.

I came up with a way to integrate the TokenHelper last night. (Current code is broken but I'll push the local fix later today).
Instead of tokens being separate objects: I figured lets just add the functionality into Pattern objects. Patterns can have adjectives that allow them to be collected in groups.
grammar[:addition_operator] = Pattern.new(
    match: /\+/,
    adjectives: [ :operator, :arithmeticOperator ],
)

To retrieve/collect "tokens" I created an abbreviated syntax. I'm a little unsure that this is the best way, but I couldn't find different concise way to do it without hacking into the existing built in classes.
all_arithmetic_operators = grammar[/arithmeticOperator/]

all_other_operators = grammar[/operator && !arithmeticOperator/]

It uses placeholders so that the tokens are resolved at the very end, and because of that (and because it's global) it only searches through patterns that are directly named on the grammar repository. I'm not sure if that will be unintuitive though, so that behavior might need to be changed.
I'll probably post something later today going into more detail.

@matter123 I could use some help on the oniguruma engine.
The replacement system for tokens is almost done. I was able to use regex conditionals to implement an awesome feature dont_match: that will replace a lot of the negative lookbehinds.  The regex conditionals work in VS Code itself, but they're failing with npm run gen.
I updated oniguruma and vscode-textmate but it still fails. I'm a bit confused since I thought that was the same engine VS Code itself was using.

So vscode just (a few weeks ago) switch from oniguruma to oniguasm-wasm for their regex engine. Im pushing the branch Misc/update/vscode-textmate with an initial update of that.
I'm going to dinner but I can work some more in about an hour.

Cool! I'm glad you knew what was up. Take your time with dinner 👍

@jeff-hykin I just pushed the minimal amount of work needed to make npm run gen work.
Of note, npm run perf is no longer functional as the vscode-oniguruma module does not export OnigRegExp needed by test/source/report/onig_scanner.js. The solution to this is to pin the version of https://github.com/NeekSandhu/onigasm to be the same as what vscode-oniguruma uses internally.

Thanks! That did the trick for Misc/tokens, it all generates fine now. I'm glad you merged it too cause I had been attempting unsuccessfully to get it working based off that repo (https://github.com/NeekSandhu/onigasm).
Thanks for the note about perf too.

Quickly looked at the Multi/tokens branch, Looks Good. I left a few comments, but I'll give a more thorough code review when the PR is made.

The most recent push to Misc/update/vscode-textmate restores the ability to run npm run perf, I decided against using onigasm as their embedded version of onigurua is 6.8.2 while vscode-onigurua's embedded version is 6.9.5. Instead I utilized the ace that that OnigScanner with a single pattern acts very similarly to OnigRegExp.
The new version is however noticeably slower (~18.3s for previous, ~23s for new), I am unsure what the cause is.

Quickly looked at the Multi/tokens branch, Looks Good. I left a few comments, but I'll give a more thorough code review when the PR is made.

Sounds good, the whole branch is definitely a big WIP. You might want to look at the latest cpp/generate.rb to see the usage of the new selector system and if there's any design concerns. I ran into some small design problems, but overall I think its really helping cleanup the code. Outside of that, I'll probably have --Jeff in the comments on anything that is notable.
As a side note: when there are grammar-usage bugs, some of them can be really hard to debug, they fail far away from their source with an unrelated error. So I might work on adding more checks, logging, and descriptive error messages before release.

Adding any dont_match: to one_scope_resolution causes a "can't use numbered backref error" error in the linter that crashes the program. Commenting the check out then causes another error with placeholders not being replaced, no idea why haha.
In the experimental better-c-syntax, there's a weird infinite recursion bug, related to ExportedGrammar's and their non-exported patterns I think. It happens when:

./patterns/comments.rb
grammar.exports = [
    :comment, # NOTE: no "s" AKA not :comments
    :inline_comment,
]

grammar.import("./patterns/comments.rb")
# NOTE: there is an "s"
grammar[:comments] # returns a placeholder even though it shouldn't
grammar[:comments] = grammar[:comments]

should the grammar complain if an imported grammar's exports end up not being used?
as far as infinite recursion in placeholders, do you think it is worthwhile to implement some sort of cycle detection algorithm?
I'll see if I can figure out what's going on with dont_match.

I'll see if I can figure out what's going on with dont_match.

I did make partial progress on this. /(?<blah_group>)()\g<1>/  throws a "numbered backref/call is not allowed. (use name)" and the dont_match uses named capture groups. So in the start_match_empty.rb linter when it goes from a string to regex Regexp.new(pattern.start_pattern.evaluate.gsub("\\G", '\uFFFF')) it throws the error

The most recent push to Misc/update/vscode-textmate restores the ability to run npm run perf, I decided against using onigasm as their embedded version of onigurua is 6.8.2 while vscode-onigurua's embedded version is 6.9.5. Instead I utilized the ace that that OnigScanner with a single pattern acts very similarly to OnigRegExp.

Thanks 👍  I'll probably test it out in the next few days to see exactly what you mean with the versions

as far as infinite recursion in placeholders, do you think it is worthwhile to implement some sort of cycle detection algorithm?

Yeah, we can make a placeholder set {} that is empty at the top level. Then when a placeholder is being resolved it adds the PlaceholderPattern object to the set, and if its already on the set, then its an infinite recursion.

slightly simpler might be to borrow from dfs mapping and mark each placeholder node as ("not resolved", "resolved", or "resolving") and attempting to resolve a "resolving" placeholder is a loop

as far as infinite recursion in placeholders, do you think it is worthwhile to implement some sort of cycle detection algorithm?

There might also be a way to do it before any loop/recursion by changing the resolve method. Every pattern, like grammar[:thing] has to point to a real pattern by the end. If grammar.repository[:thing_being_resolved] isn't a real pattern by the time the grammar is being compiled, an error could be thrown then.

So looking at the new resolve_placeholder transformation, I am not sure how it is recursive.
if repository[arguments[:placeholder]] is itself a placeholder, wouldn't it be a placeholder by the end?

if repository[arguments[:placeholder]] is itself a placeholder, wouldn't it be a placeholder by the end?

I'm not 100% sure
repository[arguments[:placeholder]] = PlaceholderPattern.new(*args)

unless repository[arguments[:placeholder]].is_a? PatternBase
    raise ":#{arguments[:placeholder]} is not a pattern and cannot be substituted"
end
#
# infinite __deep_clone__ recursion I think
#
each_pattern_like.arguments[:match] = repository[arguments[:placeholder]].__deep_clone__

Edit: does #map! end up traveling through the new :match and resolve them?
This I'm not sure of either, which it partly why I worked on creating .recursive_pattern_chain so that a list could be generated (and basically frozen) first before starting to resolve things

I don't think it can be frozen, several transformations alter the chain firly signfigantly

I don't think it can be frozen, several transformations alter the chain fairly significantly.

Sorry I meant just top-level. Basically no elements are added/removed/re-ordered on the list, but each can be mutated.
Is that what you meant or are you saying things do get added?

I pushed the recursive bug on master on the experimental better-c-syntax repo if you want to see the stack overflow bug. I'm still not sure how its being caused by repository[arguments[:placeholder]].__deep_clone__  so I imagine it might have to do more with #map!

Freezing at the top level should cover any existing plugins but ideally, bailout would be a part of the grammar and that is going to add more names to the grammar. There could be two stages, in the first stage, the pattern objects are immutable but the repository is mutable and in the second stage its the opposite.

Freezing at the top level should cover any existing plugins but ideally, bailout would be a part of the grammar and that is going to add more names to the grammar. There could be two stages, in the first stage, the pattern objects are immutable but the repository is mutable and in the second stage its the opposite.

Yeah that might work since the bailout should be independent of any placeholders

I pushed the recursive bug on master on the experimental better-c-syntax repo if you want to see the stack overflow bug. The grammar only has 1 pattern in it at the moment. I'm still not sure how its being caused by repository[arguments[:placeholder]].deep_clone so I imagine it might have to do more with #map!

is grammar[:comments] = grammar[:comments] a simplification of a more complex recusion issue, or is semantically meningful?

Well a few things happened. (I pushed on more change (actually a revert))

The code was more removed than that, so it could look more like comment = grammar[:comments], followed later grammar[:comments] = comment
It was originally using imports grammar[:comments] = Grammar.import("./patterns/comments.rb")[:comments]
There is a misspelling, it was supposed to be grammar[:comments] = Grammar.import("./comments.rb")[:comment]

The misspelling is important cause it tried to access a non-exported pattern

I pushed a change that elminates the issue with the recusion in deep clone. With the change this is the new error for better-c-syntax:
Traceback (most recent call last):
	13: from main/generator.rb:75:in `<main>'
	12: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/grammar.rb:495:in `save_to'
	11: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/grammar.rb:329:in `generate'
	10: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/grammar.rb:260:in `run_pre_transform_stage'
	 9: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/grammar.rb:260:in `each'
	 8: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/grammar.rb:261:in `block in run_pre_transform_stage'
	 7: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/grammar.rb:261:in `transform_values'
	 6: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/grammar.rb:278:in `block (2 levels) in run_pre_transform_stage'
	 5: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/transforms/resolve_placeholders.rb:10:in `pre_transform'
	 4: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/pattern_variations/base_pattern.rb:162:in `map!'
	 3: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/transforms/resolve_placeholders.rb:21:in `block in pre_transform'
	 2: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/pattern_variations/base_pattern.rb:645:in `=='
	 1: from /Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/pattern_variations/base_pattern.rb:640:in `eql?'
/Users/fosdick/cpp-textmate-grammar/gem/lib/textmate_grammar/pattern_extensions/placeholder.rb:41:in `to_tag': Attempting to create a tag from an unresolved placeholder `:comments' (RuntimeError)

Based on that doc you sent sent earlier. Should we be using \k for backreferences instead of \g?

backreferences are \N where N is a number. \g is used for subexpressions.

Does the cpp code have subexpressions?

I thought \N was problematic for values > 10 so \g had to be used instead

just the template angle brackets, but that's planning on being removed?

I thought \N was problematic for values > 9 so \g had to be used instead
the docs say n is valid when (n >= 1)

Oh yeah I forgot I used it there, maybe that's where I'm seeing the \g from.

I thought \N was problematic for values > 9 so \g had to be used instead

the docs say n is valid when (n >= 1)

Hmm I wonder how you're supposed to match a backreference followed by a digit literal. Non capture groups?
\11
\1(?:1)

Backreferences actually become (?:\1)1

I guess just for future reference:
\N, \k<N> is a backreference; with N >= 1. Will consume all digits. Cannot have leading 0's \\011 is the char point 9 (tab), not capture group 11
https://github.com/kkos/oniguruma/blob/d484916f3ca2b6bbc81accba63054625dfe26b6b/doc/RE#L411
\N is octal; but only 1-3 digits, must only be [0-7] and must be atleast 1 higher than the amount of capture groups available. It does not consume any literal digits after it
https://github.com/kkos/oniguruma/blob/d484916f3ca2b6bbc81accba63054625dfe26b6b/doc/RE#L24
Has there been any development in the performance loss of applying a pattern inside a capture item in the C highlighter?
https://github.com/microsoft/vscode-textmate/issues/167

\k<N> is a backreference

@RedCMD
Yeah I probably should've known. I went ahead and updated the grammar builder library with that fix.

Has there been any development in the performance loss of applying a pattern inside a capture item in the C highlighter?

Sadly no


Close POAM V73-IA-5: Weak Password Requirements

In order to demonstrate that our system has an acceptable level of risk, we need to close this identified potential risk as resolved or invalid.
Implementation sketch:

[x] We've written a false positive rationale in this document.
[x] Our 18F AO has approved this rationale.
[x] We've emailed this to our 3PAO.

Acceptance Criteria:

[ ] 3PAO verifies that rationale.

More Information

See POAM for details.
NIST Special Publication 800-53 (Rev. 4) IA-5

I believe this one to be a false-positive.  The last comment is:

cloud.gov doesn't use password based accounts on the metris app. Needs re testing with 3PAO

☝ That is correct; although grafana displays a user/pass as part of the login UI, we only use third-party authentication. Is it possible we gave the 3PAO a user/pass based account for testing?

Updated the story with an implementation sketch that links to a document for drafting rationales.

Related task: https://github.com/18F/cg-atlas/issues/175 ("Authenticate metrics against in-boundary IDP")

Yes, I believe we should be marking this as a false-positive. That said, we still need to change metrics.fr.cloud.gov from GitHub to UAA as the authentication provider, and that will need testing once it's done. I suggest we leave this one open and have Veris retest metrics.fr.cloud.gov when we're on UAA, which will address the false-positive finding (eg we can show them that we're not using local accounts) as well as the test needed after we change to UAA; this will cut down on tracking overhead.

We chatted about this, and we'll continue with the plan as currently written in the story - we'll handle this as a false positive for the POA&M in order to meet the POA&M requirements and deadlines, and separately we'll also do the related GitHub -> UAA work tracked at https://github.com/18F/cg-atlas/issues/175

Drafted rationale here, sent to AO for approval (https://github.com/18F/Infrastructure/issues/745).

There's no more active work on this one to do for now - it's filed in the POAM appropriately.


R image update

5 new packages (mix of conda-forge, CRAN, github)
Updated pangeo-notebook

Built image ghcr.io/oceanhackweek/r:cf019b7


There is no the function 'sphModalCoeffs'

Various functionality of the library depends in a few more of my libraries, have a look on the documentation. This function is in the array-simulator library.


mvn failed

mvn clean package
Desktop (please complete the following information):
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /opt/maven
Java version: 17.0.11, vendor: Debian, runtime: /usr/lib/jvm/java-17-openjdk-arm64
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.10.198", arch: "aarch64", family: "unix"

the downloaded files in local maven respository:

I've tried to delete all files of local repository and rebuild, but also failed with same reason

add -Dplatform.classifier=linux-aarch64 solved the problem


[BUG]  False positive when asserting an error pointer

Describe the bug
When asserting a pointer-error with HaveOccurred or  Succeed, ginkgolinter detect the value as non error, and triggers a linter error.
To Reproduce
type myErr struct {
    code int
}

func (e *myErr) Error() string {
    ...
}

...
err = &myErr{code: 404}
Expect(err).To(HaveOccured())

Expected behavior
no linter error
Actual behavior
ginkgolinter mistakely detects err as not error type.
Environment:

OS: linux
Version v0.18.3

Additional context
Originally found here: https://github.com/containernetworking/cni/issues/1148

Released version with the fix: v0.18.4


SNW Counters in Properties

Obsidian 1.4 released Properties, which provides a new visual editor for YAML metadata that works with internal links.
Currently, SNW does not show counters for links in Properties. Could this be added?

This is a great idea. I had already been wanting something like this, but this might be the right time to add it. How would you visualize it appearing?
For example, a count of how many times the property is used? How about the value if reused? (This one I am not sure bout).

This is now supported since 2.1. Sorry I forgot about your request here.


Test Mode

The test mode should be much more restrictive than the one of the old GameController.
Specifically

it should be selected before a game if these things are allowed
only certain actions can be allowed (e.g. unpenalizing players earlier than normal, starting/continuing a penalty shoot-out with unequal score, ...)

37c89fcc5aa2b0da61f22ce16233a6eb0c1f3b47
ee43c4c374c303537a598c48fc6a14b4108cb748
9d3cc357e010276b85f4935aaa702c1cd495995f
961ecfa7dcb658aa2d14f6c2f3a1e1f3257a061a


[Task]: [Iterate on POC] Add the option “Bind entities {{ }}” in the top of the menu. when they click on it, Appsmith introduces the {{ }} and open the auto-complete menu exactly how we are doing with widgets.

SubTasks
[Iterate on POC]
Add the option “Bind entities {{ }}” in the top of the menu. when they click on it, Appsmith introduces the {{ }} and open the auto-complete menu exactly how we are doing with widgets.

https://www.notion.so/appsmith/In-queries-users-don-t-know-they-can-use-the-to-bind-widgets-fcc45ec48db64e8280b7889cffe0d19b

DP generated with the changes: https://ce-35097.dp.appsmith.com
cc: @carinanfonseca @rohan-arthur

This is completed and merged in POC PR.


Unify ubersum logic (step 1/2)

DO NOT MERGE
Addresses #1460
This pure-refactoring PR switches to use an in-house implementation of ContractExpression for pyro.ops.contract.contract(). We still use opt_einsum for sharing logic. A follow-up PR will add ubersum's batch functionality to pyro.ops.einsum.paths.optimize() and ContractExpression.
Questions for reviewers

[ ] @neerajprad can you suggest ways to check performance impact?

Tested

[x] added tests comparing the in-house implementation to opt_einsum.contract().

can you suggest ways to check performance impact?

@fritzo - I have mostly just been using timeit (for small snippets on ipython, or quickly timing tests), and cProfiler and line profiler to do more detailed profiling. I just tested your changes on the HMC example, and there doesn't seem to be any regression on that (if anything it is a tiny bit faster).
If you have a canonical example that you would like to monitor for perf regression, let me know. I can add it to test_benchmark.py which creates a more isolated environment and runs via a cron every night on my workstation. :)

Closing this for now, as it appears not to be the shortest path to fixing #1460.