fix: add to_s on file path comparison

This PR should fix the this issue: https://github.com/prontolabs/pronto-flay/issues/24.
The issue happens because the comparison between a Pathname and a string fails. I chose to cast both to string to avoid a similar error in the future, but that can be removed if necessary
before:
✗ bundle exec pronto run -c origin/master
bundler: failed to load command: pronto (/home/eduardoseifert/.asdf/installs/ruby/3.3.4/bin/pronto)
/home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-flay-0.11.1/lib/pronto/flay.rb:40:in `block in messages': undefined method `added_lines' for nil (NoMethodError)

        line = patch.added_lines.find do |added_line|
                    ^^^^^^^^^^^^
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-flay-0.11.1/lib/pronto/flay.rb:37:in `map'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-flay-0.11.1/lib/pronto/flay.rb:37:in `messages'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-flay-0.11.1/lib/pronto/flay.rb:14:in `run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/lib/pronto/runners.rb:20:in `block in run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/lib/pronto/runners.rb:13:in `each'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/lib/pronto/runners.rb:13:in `run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/lib/pronto.rb:66:in `run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/lib/pronto/cli.rb:70:in `block in run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/lib/pronto/cli.rb:68:in `chdir'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/lib/pronto/cli.rb:68:in `run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/thor-1.3.2/lib/thor/base.rb:584:in `start'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-0.11.2/bin/pronto:6:in `<top (required)>'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/bin/pronto:25:in `load'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/bin/pronto:25:in `<top (required)>'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/cli/exec.rb:58:in `load'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/cli/exec.rb:58:in `kernel_load'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/cli/exec.rb:23:in `run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/cli.rb:451:in `exec'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/cli.rb:34:in `dispatch'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/cli.rb:28:in `start'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/exe/bundle:28:in `block in <top (required)>'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/exe/bundle:20:in `<top (required)>'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/bin/bundle:25:in `load'
	from /home/eduardoseifert/.asdf/installs/ruby/3.3.4/bin/bundle:25:in `<main>'

after:
✗ bundle exec pronto run -c origin/master
/home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-rubocop-0.11.5/lib/pronto/rubocop/patch_cop.rb:34: warning: `Cop.all` is deprecated. Use `Registry.all` instead.

/home/eduardoseifert/.asdf/installs/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/pronto-rubocop-0.11.5/lib/pronto/rubocop/patch_cop.rb:62: warning: `inspect_file` is deprecated. Use `investigate` instead.

...

no problem, @ashkulz ! happy to help


Add skipEmailWarning option

This allows to skip email check warnings set by forum module in identity
inheritance mode

I'm not sure about this one. Logs will be flooded with warnings about no email set for subscription purposes and maybe some other stuff as well.
I'm rewriting this module right now and there will be option to automatically copy email address (see #107)
Unless you have got strong case here - I'm all ears.


Dead By Daylight Support ?

Any chance of a profile for this game ?
Would be amazing the killers heartbeat making the keyboard flash red etc
I just left a similar message on the dead by daylight steam forum and faded was sugesting Game State Integration and that he also worked with Anton P on Aurora.
I reckon you could make this happen if you had a wee chat :)
I have attached a link to the steam discussion here http://steamcommunity.com/app/381210/discussions/0/1291817837638832466/?tscn=1496752337
Thanks

If the Dead by Daylight devs add GSI, it would be possible.

Hopefully it happens mate would love to see it in aurura

Closing until support is feasible/possible.


[BUG] UTBot server dies on specific project with custom build script

Description
To Reproduce
Steps to reproduce the behavior:

Clone https://github.com/libbpf/libbpf project
Unpack and add attached utbot_build.sh to the root of the project utbot_build.zip
Unpack and replace Makefile from src with attached one
Makefile.zip
Configure UTbot so it successfully configures on the project
Try to generate tests for any 'C' file in src folder

Expected behavior
Tests are generated.
Actual behavior
Generation fails with an error

Server process exited without any logs.
Additional information
I've added utbot_build.sh file which enters src folder and starts make.
Also Makefile was modified, so it outputs to build directory

Let me know if whole project need to be sent to you directly. Unfortunately GitHub cannot upload it.

I checked this bug on redis.
There are some problems with project:

Script utbot_build.sh:
make distclean
This command does not build a project.
Instead of this use
make MALLOC=libc
In addition, even if i use this command, all project builds in /redis but not in /redis/build, how it should be ( View custom support)

To check whether the server crashes because of this, I propose to fix the configuration of the project so that it is built in the /redis/build/ directory.

After discussion it was decided to add proper handling and logging of the error which causes Segmentation fault, so server doesn't die but reports details of configuration problem.
Proper configuration of the project is out of the scope current issue.

The server doesn't fault so often anymore even when miss-configuration happens, so we can close this case now.


Netlify CMS Limitations/Options

Right, I've been fighting a bit with the WYSIWYG and Markdown editors in Netlify CMS for a while. The issue is probably twofold:

It has very limited formatting options, so there's no text alignment (for example), no inline HTML
The preview window is only a kind-of-preview, and doesn't accurately represent what appears on the website.

There are also some quirks around workflow, e.g. you can't properly see an image in the preview until the post is deployed, as the images aren't moved to the correct directories before that point. @pkscout turned Deploy Previews on, which addresses much of this in that I can at least see the blog posts "live" now before we actually publish them, which is a huge help (thank you) - but we could perhaps do more.
A placeholder for my own thoughts, as much as anything...

it looks like Netlify CMS uses remark as its markdown engine
remark supports a wide range of plugins, which may be useful

Immediate thoughts:

remark-gfm - extend the core CommonMark support to mimic Github-flavoured markdown
remark-github - link references to commits, issues, and users, in the same way that GitHub does in comments (so we could e.g. directly link to PRs as we do in the draft Github blog posts)
remark-align - provide basic left/centre/right alignment of text (may well be broken, or perhaps just for the latest version of remark, which isn't necessarily a problem)

I'll keep digging, but that's a starting point.

Just as an FYI.  The Netlify CMS only generates the markdown files.  GatsyJS is the site builder, and it actually builds the pages.  So whatever solution we look at for this, it likely has to have a way to be supported both in the NetlifyCMS and Gastby.

https://github.com/netlify/netlify-cms/issues/1503
I'm not really sure why you need text alignment. I usually only use block and the normal (left bound) one. So we are only missing block?

It's not the most important thing in the world - it was an observation when adding captions to inline images. IMO they look better centred - both images and captions - than they do left-aligned.

We might be able to just center images then, and maybe we can just render the alt text you should be able to set.
But we might need to add a component for that in the CMS via https://www.netlifycms.org/docs/custom-widgets/#registereditorcomponent and then rendering it correctly on the blog side of things.
Similar to this https://github.com/netlify/netlify-cms/issues/1058


Make sure children of group layers can be selected

closes https://github.com/boundlessgeo/qgis-webappbuilder-plugin/issues/316
SDK-409

Coverage decreased (-0.01%) to 74.122% when pulling 183a6aafe72ec23b4008aca0081af662f42079bc on group-select into 4aca2b9969b4497511f215ae240578c60fc5074b on master.


[PE-D][Tester D] The Info Card Does Not Resize

The info card doesn't resize automatically along with the input. For example, a user have a long name, then the UI is not able to show the full name. Additionally, there is no scroll bar to navigate. Or when you link multipule person into a location, it will not show a list of names.
Follow up explaination : when there is a verticle scroll bar in prescence, it might happen that the horizontal scroll bar cannot be seen if one of the five sections saved many data.

Labels: type.FunctionalityBug severity.Medium
original: chen-jerry-junior/ped#3

Not a bug and won't fix.


endpoint to look up id by corpusname/playname vice versa

Currently, it's possible to look up DraCor id, e.g.  ger000023 and get the corpusname, e.g. ger and the  slug/filename wedekind-hidalla; could work sowhat like /id/{id} but should be very fast, because it would be the basis for operations that would use the id, get corpusname and slug to be used with all the other API functions, that expect these identifiers

/id/ right now is a resolver only. We would also need the function to return (in JSON?) corpus name & slug, so rdracor and other programs can work with IDs.
Maybe rename this function to /resolve/ and have two options, like /resolve/url and /resolve/json ?

maybe implement new resolver endpoint:
api/resolve or /api/lookup or /api/whatis and except params ?id=` ? &playname= &corpusname= &uri= ;
response of the resolve endpoint could be something like:
„corpusname“: „rus“,
„id“ : „rus123456“,
„uri“ : „https://dracor.org/entity/rus123456“
}

maybe implement new resolver endpoint:
api/resolve or /api/lookup or /api/whatis and except params ?id=` ? &playname= &corpusname= &uri= ;
response of the resolve endpoint could be something like:
„corpusname“: „rus“,
„id“ : „rus123456“,
„uri“ : „https://dracor.org/entity/rus123456“
}


why i pull code from repo,it added  ''======= >>>>>>> fe52d27762042248201775128e7e3222ce685a1c"

That's a git thing that indicates that the branch and the commit are out of sync


Clone PDU

We need a method/mechanism to clone the PDU:

From the generic Header:

If Header is "pure" simply return a copy of the Header
If Header is the base class of a specialized PDU, clone the whole chain and return a copy of the Header (it can be casted to the correct PDU)

From a specialized PDU, simply create a copy of the PDU (clone the whole chain)

@karljj1 I don't know if this is already possible but it's super useful (especially in my use-case)

You could just call Encode and Decode using the PDU_Factory although it's more work than a straight copy.

@karljj1 Can we try to implement this
What do you think?

@karljj1 Can we try to implement this
What do you think?

This would involve adding a clone method to every PDU and DataType? It should be fine, just quite a bit of work ;)

See https://github.com/CppCodeReviewers/Covariant-Return-Types-and-Smart-Pointers
This is mind blowing

With the refactor we've set the minimum C++ standard as 11.
Therefore, we should be good with this one

Done in the previous PR

@karljj1 It's correct that Reliability_Header does not extend Header? Am I missing somethig? Thanks

Yes Reliability header is only for PDU that support it, the PDU tend to be in a special reliable category. So instead we use multiple inheritance to add it in when needed.


Add CBMC proof-running GitHub Action

This commit adds a GitHub Action that runs the CBMC proofs upon every push and pull request. This is intended to replace the current CBMC CI.

My implementation didn't work, I think because using a threading lock conflicts with the asyncio code. I can't use an asyncio signal handler and lock either, because signal handlers don't get invoked asynchronously.
I've just pushed @tautschnig 's suggested implementation, but I think that this still contains a TOCTOU bug where two signal handlers both pass the if _SIGNAL_HANDLER_RUNNING check before both setting the boolean to True.


Common Language Runtime detected an invalid program/JIT Compiler encountered an internal limitation

I have following example code:
class Program
{
  static void Main(string[] args)
  {
    Console.WriteLine(global::Name.Of<Foo>(arg => arg.Bar));
    Console.ReadLine();
  }
  public class Foo
  {
    public string Bar { get; set; }
  }
}

IntelliSense says that I am using following overload:
string Name.Of(Func<Foo,object> fieldOrProperty)
This gives me the following exception:

System.InvalidProgramException was unhandled
Message: An unhandled exception of type 'System.InvalidProgramException' occurred in mscorlib.dll
Additional information: Common Language Runtime detected an invalid program.

PEVerify gives me following output:

Microsoft (R) .NET Framework PE Verifier.  Version  4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
[IL]: Error: [ConsoleApplication1.exe : ConsoleApplication1.Program::Main][offset 0x00000031] Stack must be empty on return from a void function.
1 Error(s) Verifying ConsoleApplication1.exe

Following packages are used:

Fody 1.29.4
NameOf.Fody 0.8.4

not relevant anymore, since the usage of nameof()


Documentation translation

I just installed your extension and I don't fully understand how to activate all of its functions. I used a translator to translate the documentation at least into English. But still there were misunderstandings. Please start translating the documentation, not only Korean speakers are interested in your extension.
As I understand it, in order for the outline to start working, my workspace must contain ONLY a 'plugins/Skript/scripts' directory. This is very inconvenient, because I work on several servers at once (bungeecord) and the workspace contains not only the entire server folder, but several such folders. In this case, the outline does not work.
Tooltips do not work at all under any circumstances, and I still did not understand how to activate them.
Your extension is unique because it provides more than just syntax highlighting. I really want your extension to work the same way as in your description.
Thanks.

Thank you for your interest in the extension I made. Unfortunately I don't know English. I always rely on a translator, so please understand that the sentences can be unnatural.
It is an extension made for my work environment, so it cannot work in the same environment as bungee code. I'll try my best to make this possible, but I'm an amateur programmer so it takes a lot of time. (My workspace is one skript workspace on a single server.)
The workspace is the 'scripts' folder with the sk file. Sometimes, if the extension doesn't work properly, try restarting vscode. If that doesn't work, it's probably because of my spaghetti code...


Cats parse 0.3.0

Ready when it comes out.

This will need a scalafmt.

This will need a scalafmt.

Almost:
[info] Set-Cookie parser should
[error]   ! parse a set cookie (432 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(22,NonEmptyList(EndOfString(22,90))) (file:1)
[error]   ! default to None (431 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(22,NonEmptyList(EndOfString(22,49))) (file:1)
[error]   ! parse a set cookie with lowercase attributes (430 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(22,NonEmptyList(EndOfString(22,90))) (file:1)
[error]   ! parse with a domain with a leading dot (430 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(23,NonEmptyList(EndOfString(23,33))) (file:1)
[info]   + parse with an extension (453 ms)
[info]   + parse with two extensions (453 ms)
[error]   ! parse with an two extensions around a common attribute (430 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(34,NonEmptyList(EndOfString(34,61))) (file:1)

Almost:
[info] Set-Cookie parser should
[error]   ! parse a set cookie (432 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(22,NonEmptyList(EndOfString(22,90))) (file:1)
[error]   ! default to None (431 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(22,NonEmptyList(EndOfString(22,49))) (file:1)
[error]   ! parse a set cookie with lowercase attributes (430 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(22,NonEmptyList(EndOfString(22,90))) (file:1)
[error]   ! parse with a domain with a leading dot (430 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(23,NonEmptyList(EndOfString(23,33))) (file:1)
[info]   + parse with an extension (453 ms)
[info]   + parse with two extensions (453 ms)
[error]   ! parse with an two extensions around a common attribute (430 ms)
[error]    org.http4s.ParseFailure: Invalid Set-Cookie header: Error(34,NonEmptyList(EndOfString(34,61))) (file:1)

Sorry for butting in, but I'm excited to get this one merged, and I think you're in a timezone where you should be asleep! :smile:

Sorry for butting in, but I'm excited to get this one merged, and I think you're in a timezone where you should be asleep! :smile:

Did you have to tweak this manually, or did the Scalafix do it all? Either way, after the scalafmt, this just worked. Tremendous work.

I did have to make manual tweaks -- unfortunately, overlapping tree replacements fail, so Parser.rep1(foo.string1) gets jumbled to foo.string1.repstring, and Parser.oneOf1(List(foo.string1, bar.string1)).string gets jumbled to Parser.oneOf(List(foo.string1, bar.string1))stringstring0stringstring, and those need to be manually clean up, and sometimes imports need to be fixed if you had import cats.parse.Parser but not Parser1, and you use both the companion of Parser and the type. The thing you still had to fix was probably a mistake in the manual cleanup.

Did you have to tweak this manually, or did the Scalafix do it all? Either way, after the scalafmt, this just worked. Tremendous work.

I did have to make manual tweaks -- unfortunately, overlapping tree replacements fail, so Parser.rep1(foo.string1) gets jumbled to foo.string1.repstring, and Parser.oneOf1(List(foo.string1, bar.string1)).string gets jumbled to Parser.oneOf(List(foo.string1, bar.string1))stringstring0stringstring, and those need to be manually clean up, and sometimes imports need to be fixed if you had import cats.parse.Parser but not Parser1, and you use both the companion of Parser and the type. The thing you still had to fix was probably a mistake in the manual cleanup.

That all makes sense.  Well, thank you for both the manual and automated labor!

That all makes sense.  Well, thank you for both the manual and automated labor!


Implement webhook events system

To allow NetBox to become more extensible while still keeping its code clean and focused, a webhooks system could be implemented, enabling hooks to fire when certain events take place.
This might be a ways out, but it's worth thinking about at least.  Proposed as an idea to solve #63 and #77 in a more generic way.

WHMCS has a pretty nice hook system that one could to...
Basically everything system action would have a pre and post action hook...
Hooks are defined for these actions and a numerical id assigned on each so they can be processed in a specific order

Perhaps using the webhooks or an API to allow connection to PowerDNS to handle PTR records for ip allocations.

A simple solution may be to use the django signals : https://docs.djangoproject.com/en/1.9/ref/signals/
We can make a system which listens to these signals on every model, and also to the signal emitted when a HTTP request happens (to detect every access to netbox). This system could then call some user-specified scripts, in a specific folder for instance.
What about it ?

Hi,
I have made a hook system for Netbox, you can currently see it on my fork, in the branch "hooks".
It's very simple : there is a folder "userscripts", every script in it is automatically loaded and can connect receivers to django signals. Django doesn't emit any signal on a bulk edit, so I created a signal for it, which can be listened the same way. Below is the doc I have written for this system and an example of a listening script (that I included in the commit), please tell me what you think about it.

User scripts
Netbox emits a signal whenever an event occurs in the database : when an object is created, edited or deleted, when a bulk import, edit or delete happens. It also emits a signal whenever accessed directly or through the API, indeed whenever a HTTP request is received.
You can hook your own scripts on these events by putting them in the folder userscripts and following the right format. This hook system is based upon the Django's signals system, so all you have to do is connecting receiver functions to the signals you want. You can follow the example already present in userscripts, you can also read the documentation about Django signals to know what is possible to do.
If several receivers are connected to the same signal, possibly in several different scripts, they all will be called when the signal is emitted.
Some parameters are transmitted to the receiver functions : in particular, the concerned class and instance. On a bulk import or bulk delete, individual signals will be emitted : respectively a save and a delete signal will be emitted for each object. Bulk edit works another way : a single signal is emitted for the whole bulk edit, transmitting a parameter pk_list containing a list of the concerned primary keys.
For each signal, there are two : a pre and a post.
Your scripts will automatically be loaded if they are in the userscripts folder and if they are simple modules. Packages won't be loaded, so if you have heavy treatments to apply to signals you can organize them the way you want in a package and just put next to it a module which will be loaded and which loads the package.
This hooks system can be used to automate your configuration updating from Netbox for instance.

`
from django.core.signals import request_finished
from django.db.models.signals import pre_save
from django.dispatch import receiver
from userscripts import pre_bulk_edit, post_bulk_edit
from circuits.models import Provider
from ipam.models import IPAddress
import time
import logging
@receiver(request_finished)
def callback_request_finished(sender, **kwargs):
logger = logging.getLogger(name)
logger.info('! Request')
@receiver(pre_save, sender=IPAddress)
def callback_ipaddress_pre_save(sender, **kwargs):
logger = logging.getLogger(name)
logger.info('! IP Pre-save')
@receiver(pre_bulk_edit, sender=Provider)
def callback_ipaddress_pre_bulk_edit(sender, **kwargs):
msg = '! Provider Pre-bulk-edit ('
for pk in kwargs['pk_list']:
msg += pk + ','
msg += ')'
logger = logging.getLogger(name)
logger.info(msg)
@receiver(pre_bulk_edit)
def callback_pre_bulk_edit(sender, **kwargs):
msg = '! {} Pre-bulk-edit ('.format(str(sender))
for pk in kwargs['pk_list']:
msg += pk + ','
msg += ')'
logger = logging.getLogger(name)
logger.info(msg)
`

I added to userscripts a logging utility and the ability to be called through a HTTP request. It allows for instance to call a script daily from a cron instead of each time an event occurs.
New doc :

User scripts
Netbox emits a signal whenever an event occurs in the database : when an object is created, edited or deleted, when a bulk import, edit or delete happens. It also emits a signal whenever accessed directly or through the API, indeed whenever a HTTP request is received.
You can hook your own scripts on these events by putting them in the folder userscripts and following the right format. This hook system is based upon the Django's signals system, so all you have to do is connecting receiver functions to the signals you want. You can follow the example already present in userscripts, you can also read the documentation about Django signals to know what is possible to do.
If several receivers are connected to the same signal, possibly in several different scripts, they all will be called when the signal is emitted.
Some parameters are transmitted to the receiver functions : in particular, the concerned class and instance. On a bulk import or bulk delete, individual signals will be emitted : respectively a save and a delete signal will be emitted for each object. Bulk edit works another way : a single signal is emitted for the whole bulk edit, transmitting a parameter pk_list containing a list of the concerned primary keys.
For each signal, there are two : a pre and a post.
Your scripts will automatically be loaded if they are in the userscripts folder and if they are simple modules. Packages won't be loaded, so if you have heavy treatments to apply to signals you can organize them the way you want in a package and just put next to it a module which will be loaded and which loads the package.
This hooks system can be used to automate your configuration updating from Netbox for instance.
Userscripts can also be called at the URL /userscript/?script=my_script, then if a function call(get) is found in the script my_script.py, it will be called each time the URL is reached, with the parameter get being a dictionary ccontaining the parameters of the HTTP GET request (indeed get is basically request.GET), including the parameter script whose value is the name of the user script called. If the user script or its function call can't be found, or if an uncaught exception is raised by call, a blank response will be sent, but if the function was successfully called, its returned value will be converted to an unicode string and sent as response.
When the server starts, it loads the user scripts, and it creates for each of them a logger whose name is the name of the user script file, for instance the user script my_script.py has a logger named my_script.py. The user script can use this logger to log its messages in the central userscripts log file. Log messages will automatically get formatted and added the date, the name of the user script, and the log level. See the example for more information. The path to the log file and its max size can be set in configuration.py : respectively USERSCRIPTS_LOG_FILE and USERSCRIPTS_LOG_MAX_SIZE (in bytes).

New example script :
https://github.com/rdujardin/netbox/blob/hooks/netbox/userscripts/example.py

This would be such a great feature to connect many external systems. An implementation would be awesome! :smiley:

I think what @rdujardin proposed is exactly what most organizations are looking for. It is also exactly what I need. I like the idea to use Django signals and hopefully this approach would be something what jeremystretch could easily adopt.
This feature request is very important since it allows the integration of third-party tools without having to write a specific "module" for each third-party solution/vendor.
In my organization, we'd use such a feature to automatically handover data from NetBox to our own APIs which take care of LDAP, DNS, third-party support tools etc.
In my eyes, this GitHub issue actually covers something I'd consider as a "basic feature" for a decent DCIM solution. And who knows - maybe some people didn't switch to NetBox yet because they are waiting for exactly this feature.

Another +1 for this feature.  In my current custom IPAM solution, we have code that automatically talks to the Infoblox API  to add DNS entries if desired.
The ability to extend the Netbox functionality to other systems would be very valuable.

+1 from me, as I'd like to let netbox talk to Microsoft DNS and DHCP Server vis custom scripts/plugins/API calls/ect.

Also throwing in support for this. One very big use cases I have for this ties in with #150 (vlan port mapping). When a vlan is changed on a port, a webhook is fired off to an automation platform to enact that change.

This could be achieved through celery tasks but that would also increase
installation complexity...
On Thu, Mar 2, 2017, 15:32 John Anderson<EMAIL_ADDRESS>wrote:

Also throwing in support for this. One very big use cases I have for this
ties in with #150 https://github.com/digitalocean/netbox/issues/150
(vlan port mapping). When a vlan is changed on a port, a webhook is fired
off to an automation platform to enact that change.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/digitalocean/netbox/issues/81#issuecomment-283771433,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABfg5gS-a7R9sXLGZxSrW_Trhq2yAh5pks5rhydagaJpZM4JALE9
.

I love seeing features like this become implemented into such powerful software.
Is there any chance that anyone has an example of what an integration with WHMCS or PHPIPAM would look like? Not a coder myself...

I'd like to implement this in a manner similar to how GitHub does it: Select the models and events you're interested, and tell NetBox what URL to hit when something happens. NetBox would then POST a JSON representation of that event to the specified URL.
As @rdujardin suggested, we can leverage Django signals to accomplish this. However, I'd like to store webhooks in the database rather than as user-created scripts. We should still be able to support customization by templatizing the request body. I'm curious what people would expect the body of the POST request to look like.

I would probably expect something like the contents of an object that was just added, updated, or deleted, as well as some metadata that talks about the type of event, the time it occurred, the user who performed the action, etc.
JSON POST body all the way.

I am going to start a WIP for this. Here is my initial though process.
To make this worthwhile it is going to require a persistent back end worker, so these actions happen in the background and we can handle things like retries in a proper manor. My thought is to build this functionality out but not enable it by default as this is really a power user feature anyway.
I want to use python-rq for its relative simplicity. This means, to enable the feature, the user will have to install redis and somehow start the background worker process (most likely just as an option when starting the server).
I do like @jeremystretch's idea to model it after github's implementation. Ideally the event triggers will be fired by Django signals and the background worker will figure out what to do based on the webhook(s) the user defines.

As a follow up to where I am at with this. I have a fully functional implementation and am working out some of the details now. In an effort to adhere to the 80/20 rule here is how I have chosen to implement it:
These models may have zero or more webhooks registered them (similar to how custom fields work):

Site
Rack
RackGroup
Device
Interface
VRF
IPAddress
Prefix
Aggregate
VLAN
VLANGroup
Tenant
TenantGroup
Circuit
Provider

Each of these models may have webhooks registered to one or more of these signals:

Create (post_save signal with created=True)
Update (post_save signal with created=False)
Delete (post_delete signal)

The Webhook model resides in extras and is accessed through the admin site. It looks like this:

name
payload_url - URL to make POST request to
type_create - Webhook is registered to create signals
type_update - Webhook is registered to update signals
type_delete - Webhook is registered to delete signals
enabled
insecure_ssl - When true, the POST request will not verify ssl (use with obvious caution)
secret - When provided, the POST request will include a X-Hook-Signature header which is a HMAC (sha512) hex digest of the request body using the secret as the key.
obj_types - ManyToMany relation on the models this webhook is registered to. Again this is the same way custom fields work.

The actual POST request is formatted like this using the model's api serializer:
{
  "event": "created",
  "signal_received_timestamp":<PHONE_NUMBER>,
  "model": "Site"
  "instance": {
    ...
  }
}

I consider this an "advanced feature" and like the napalm integration, takes a little bit of extra effort from the user to enable it. That is to say, the internal functionality is all there but ships disabled.
To enable it, the user will have to preform these steps:

Install (or make available for connection) redis server. It is very lightweight and easy to install through standard package managers.
Install django-rq: pip install django-rq. This also installs python-rq and all of its dependancies like python redis.
Provide redis connection settings in the configuration file. By default, these options will allow for connecting to a locally installed redis server using DB 0 with no username or password.
Enable the webhook backend option in the configuration file
Restart netbox

I am currently coming up with an elegant way to start the python-rq background worker process from within the same supervisor unit that netbox uses in the install docs. In my current implementation the user would have to start this separately.
If the feature is not enabled in the configuration, netbox will never try to import django-rq or any of its dependancies nor try to connect to redis so if a user does not wish to use this feature, nothing will have changed and the user will not have to take any action. It will also never register any signals so there is zero performance hit when the feature is disabled.
When enabled there are some safeguards to ensure everything is ready. Namely when netbox is starting up it will ensure django-rq is installed and a redis connection can be made.
On startup, each app registers applicable models to the two generic signal receiver functions in extras.webhooks inside of the app's ready() method. When the extras app is ready, it pulls all webhooks out of the database and stores them in a cache. This is the native django local memory cashe, so there is no added installation/upgrade complexity here. This is important because we don't want to hit the database for webhook matching criteria each time a model signal is fired. The extras app also registers a special signal on the webhook model so that any update will refresh the webhook cache.
When a model signal is fired, it is received by the appropriate receiver function (post_save vs. post_delete). If the webhook feature is enabled, we retrieve the webhook cache and look for any and all webhooks which meet the criteria for this signal. For each matching webhook found, enqueue a job into django-rq (the 'default' job queue is the only one implemented). The background worker will then process anything in the queue. The POST request is built and then made to the payload url. If a good status code (from the python requests definition) is returned, the job is successful, otherwise it has failed and django-rq puts the job in the "failed" queue.
Django-rq also implements an admin view which allows the user to view the status of the job queue(s). There the result of jobs can be seen and failed jobs can be manually retried.
This is my first iteration but it seems to be working quite well :)

Hi and thank you for your wonderful work! Am I right to assume that this code is supposed to allow the calling of external utilities (e.g. certain binaries on the Netbox host) in case somebody performs a certain change using the API or the web interface? Based on the code, I am not sure how I would create the "external command" reidrection ...

@madkiss not exactly. You are correct in that it is used to interact with external systems. However it is mean to interface with HTTP systems. Specifically the way #1640 is implemented, when registered models are created/updated/deleted, a HTTP POST request is made to one or more user configured URLs. The payload of the request includes the model data and the event type.

After some thought, I came back to this and refactored my first iteration. I think I solved the bulk operation problem and have reopened #1640. If anyone has the time, please try that branch out and let know what you think.

Yes! Thanks so much @lampwins for doing this! Can't wait to give this a shot in our production environment.


Circle offTimes, bedTimes, and timeLimits had worked fine, but haven't been the last few weeks.

Noticed in GetConfig that the customers with the recent time related problems (times change) had unusual data representing the week day and weekend days. MAC 8c:e2:da:f0:36:79 week day data such as "21430" and week end data "5656" for profile New Nate. Note: also has dailyQuotas "on", yet the "T" variable is set to "0", with other categories are set to non-zero values. His Circle worked fine for almost a year until weeks ago when he got a new iPhone 7 and around FW 1.4 release.
Another customer's Circle was working fine and then a few weeks ago had problems with the offTimes. MAC ec:e2:da:f1:1c:21 had Nicolas profile with week days "12340" and weekends "5656", Pat profile with weekends "5656". They also have an iPhone 7 and around FW 1.4 rollout.
Normally, week days are "01234" and weekends are "56".

This issue does not make sense at all here, so I guess you posted in the wrong repo.


kubelet: Update label selector

Fixes #860
Updated kubelet's label to app.kubernetes.io/name from k8s-app

any reason why we didn't merge this @paul

I wanted to test this but got locked up with some other things. Sorry for the delay.


dolphindb issue

I'm having trouble with the package dolphindb, which depends on numpy, pandas, pytz etc..
import dolphindb as ddb

if __name__ == '__main__':
    s = ddb.session()
    print(s)

Using this script:
python -m nuitka .\main.py --standalone --enable-plugin=numpy
Executing the main.exe:
ModuleNotFoundError: No module named 'dolphindbcpp'
After coping the dolphindbcpp.cp37-win_amd64.pyd to the main.dist directory:
ImportError: DLL load failed:
However, when using this script:
python -m nuitka .\main.py --standalone --enable-plugin=numpy --nofollow-import-to=dolphindb
After coping all the dependency (numpy, pandas, dateutil, six.py ...)to the main.dist dir, it works.
I also tried the --include-package-data
What is the right scripts for some packages like it?

Copying manualy is unsupported. You failed fill out the issue template, which is very annoying as it means I have to guess stuff, and I don't like to.

Copying manualy is unsupported. You failed fill out the issue template, which is very annoying as it means I have to guess stuff, and I don't like to.

I am sorry, this is my first time to try out the issue section in one project, but what do you mean by filling out the issue template?
I have posted the example code, which is quite simple. As well as the nuitka scripts.
I tried --include-package-data=dolphindb but it still does not work.
Is there any chance that DO NOT compile packages that dolphindb but use python.dll to directly execute them by copying the entire folder manually.

Create a new issue and read the issue template, then provide all information. Simple.


The meaning of extracted features

Hello. I didn't understand how you calculated the average number of instructions. For example: inst_avg_logic. Does it calculated by the total number of logic instructions devide the number of basic blocks? Looking forward to your reply.

Hi @lumi0,
You might want to check this.
The average calculation is based on the cfg size (i.e., the number of basic blocks).
We grouped assembly instructions into several categories as shown in here.
For each instruction group, we calculated the average by dividing the number of instructions by the cfg size.


Test coverage measurement for Lucy & unit tests (berkeley)

Explain your changes:
Added new job in buildkite fro building deb and docker with mina + instrumentation. Addition to integration_test_lib and integration_test_cloud_engine to stop nodes and get coverage files (dumped on mina process exit) into local fs.
Finally entire infrastructure to upload coverage files to coveralls
Explain how you tested your changes:
Tested by adding new pipeline which builds docker and then pulled it from our gcr. Then run simple command like mina --version and verify bisect*.coverage file is generated
Checklist:

[ ] Modified the current draft of release notes with details on what is completed or incomplete within this project
[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them

!ci-buid-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

Hi @dkijania
From a design point of view, we should not be calling the logging engine from the app/test_executive directory.  The log parsing is a low-ish level implementation detail, in the future we may in fact replace the graphql logging engine and if we did, then this would break this entire test.  In other words, the log engine is a part of the infrastructure engine, but the test_executive (including individual tests, as well as test_common.ml) should be only interacting with the DSL.
I realize that it's a tad mixed as it is because graphql in general is a part of the DSL and it's ok for tests to use graphql normally, but even though the log engine uses graphql, that specific bit should stay within the infrastructure layer and not the DSL layer, at least conceptually.
I would design this by hooking up a new event type, or multiple event types, surrounding the persisted frontier being loaded.  there needs to be a new event router which listens for these events, and modifies the network_state when these events happen.  you can add a new data structure into network_state which tracks how many times the persisted frontier has been loaded (or something like that, i'm not entirely sure).
This is more along the lines of how lucy is meant to be used.  Logs are fetched by the logs engine, they are parsed into events, event routers listen for events and modify the network state in response.  tests should not be directly parsing logs, checking for log lines.
As such at the current moment I would not merge this.
Also I do believe that the persisted frontier is something that also exists in compatible yes?  if so then this should be developed against compatible, and when that's done then merged against berk and dev.

!ci-build-me

!ci-build-me

!ci-build-me

As discussed with @stevenplatt I removed tear down job from CI and we will merge current state. Then i will update buildkite configuration (not in our sources) and add execution to the next step in BK, which assure it's execution. Thanks to that we will get rid off the problem with job dependency

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!approved-for-mainnet

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me


Use separate CI builds

Let's use our own fork until jenseng/hair_trigger#72 and jenseng/hair_trigger#74 are merged by maintainers.

Oops sorry, I meant to send this PR to https://github.com/toptal/hair_trigger


Switching tenants doesn't work after using web launcher

I'm member of two tenants A, member, and B, guest.
When I'm on A and open a channel of B through the summary email (web launcher, don't know what to call it), teams opens and asks to switch to tenant B, which works.
But switching back to A shows a popup if I want to switch to B, which I can acknowledge or cancel. Cancel, as the only option to remain on A leaves the tenant blank as if I was in some kind of void state, neither in A nor B.
I have to restart Teams to get back into A.
This only happens when the web launcher triggers a tenant switch.

@Alexees - Is this what you are referring as void state?

Could you please confirm if clicking on Activity or Chat rendering UI fine for you?

@Wajeed-msft yes, that's the state I am talking about. Selecting for example Chat does show the chat, but my status is "Offline" and I am not entirely sure what else is broken in this case.
Manually trying to go online does not work.
Switching tenants back and forth seems to fix that, but the dialogue about switching to the tenant I came from remains.

@Alexees Thanks for reporting this. We have raised a bug for this and we are looking into it.

This is being tracked internally.


Blender/Godot workflow

Hi, i'm not sure if this is the right place to start a discussion, but I wanted to see what the possibilities are for a blender -> godot workflow with mterrain.
I'm currently working with a large terrain with heightmap in blender, and I'm using blender and geometry nodes to scatter all my grass and trees using weight paint to control where each plant layer goes.
I'm hoping to use this weightpaint data to recreate grass and tress in godot with MTerrain.
I could export the weight paints as a png that corresponds to the heightmap... i guess this would work like a splatmap?
I think ultimately I'd like to write a godot importer that creates separate MGrass nodes for each type of foliage.
I think a question that I would like help with is: how can I import an image of the weightpaints into MTerrain so that it populates the grass nodes? maybe there can be some sort of importer for GrassData?
I can also maybe export all the grass from blender as a point cloud instead of as a weightpaint image? I'm working with 1,000,000+ instances.
Thanks for your amazing work!

Maybe I add this feature in future, But for now there is a way to do that
If you know grass in terrain are divided into cells, please watch my video about grass to understand this concept well
So what you can do is this:

First create your terrain and make sure your terrain size will not change in future, if it change you should redo all of this work again
After that create your grass node under terrain and create a empty data for that and make sure to save the grass data with .res extension
create a script for your grass, and in the script for the grass do the following step
connect grass_is_ready signal to grass script, this signal will send after grass is ready, But make sure you create terrain otherwise this signal will not be triggered
In function connected to grass_is_ready first load the png file or any other data file which from that you can determine where each grass is located
Now set the grass value to true or false with this function set_grass_by_pixel(x,y,value) in a loop
After setting all the grass value in a loop save the data with save_grass_data function

But one thing you should calculate is how the x and y map to your terrain and that's depend on the grass density, For example if the grass density is one it means the grass cell size is also one meter and so on
With that You can also calculate the width and height, of grass cells

Thank you for the quick reply!
That sounds amazing. I will try this with  set_grass_by_pixel(x,y,value).


Sticky header line does not properly update its collapse icon

Type: Bug
With sticky header lines I collapse the region from the button on the sticky header, and then re-expand it. Its icon is not properly updated after the expansion.
The region I collapsed also had sub-regions, and it was on a Markdown file.
VS Code version: Code 1.89.1 (dc96b837cf6bb4af9cd736aa3af08cf8279f7685, 2024-05-07T05:13:33.891Z)
OS version: Windows_NT x64 10.0.22631
Modes:

System Info

Item
Value

CPUs
12th Gen Intel(R) Core(TM) i5-1235U (12 x 2496)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.68GB (1.86GB free)

Process Argv
--crash-reporter-id 95c24160-1302-4089-b0cd-a1a57e1301b7

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

ide-vscode
daf
3.3.0

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
tftest:31042121
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyonecf:30548226
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
666c4381:30973075
dsvsc021:30996838
724cj586:31013169
pythoncenvpt:31043157
fchga941:31038042
pythonprc:31039816
dwnewjupyter:31039675

Hi @Rekkonnect thank you for posting this issue. Could you please include a screen-recording of the issue, so I can better understand what is happening?

Here you go:
https://github.com/microsoft/vscode/assets/8298332/2305134b-77a3-4c09-9026-3e3bae071f4d

I see thanks for the screen recording. Could you paste here the markdown file from the screen recording or any other file which causes the same issue so I can reproduce it on my machine?

Here's the file:
https://github.com/Rekkonnect/Syndiesis/blob/master/docs%2Fchangelog.md

Hi may I ask you if you still see this issue in VS Code. Some improvements have been made to sticky scroll these past few months? If you do not see this happening, I will close this issue.


Complete the billing page

[ ] top header
[ ] middle charts
[x] statistics
[x] invoice table

sure

sure

its been 28 days 🙏🏻


Respect record status field

Currently octoDNS returns all records in the configured zone, regardless of whether they are set to active or inactive.  This PR sets the filter so that only active records are returned.
I don't know for sure this is the correct approach or if it would better be configurable, but this seems most straightforward.

Hey @olofvndrhr can you please let me know if you're interested in future development?  I've added some additional features based on your version, but if this isn't maintained, I'm just trying to figure out if I should refactor and try to commit upstream or (ugh) make another fork.

Hey @squintfox
Im very sorry that i didnt respond earlier. Either github didn't notify me about your PR or i forgot about it.
For your question, yes it is still maintained. But on a "if it breaks, i fix it" style.
Your change makes a lot of sense, i will merge it asap.
Before that though, i will move the CI files so that PR's will have them automatically run (linter, style etc) as its currently run on my own gitea instance.
Thanks again and best regards

@squintfox
I added the status filter here
I also added a contributing info for the auto-formatting, as your commit used single quotes as opposed to the ruff standard of double quotes, so i  couldnt merge it as it would fail the CI tests.
Best regards

@olofvndrhr That's awesome, thank you.  I have some other things I worked on a few weeks back and at least one bug fix.  Let me get that put together with correct formatting and I'll make some new PRs.


Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

OS Platform and Distribution
centos 7
TensorFlow installed from
source
TensorFlow version
tf.VERSION = 1.9.0
tf.GIT_VERSION = v1.9.0-0-g25c197e023
tf.COMPILER_VERSION = v1.9.0-0-g25c197e023
Bazel version
CUDA/cuDNN version
cuda 9.0
GPU model and memory
N/A
Exact command to reproduce
N/A
Mobile device
N/A

When to support ListDiff op or  tensordot op ?

Please refer TensorFlow Operations Compatibility Guide to know more about all the supported operations.

Are you satisfied with the resolution of your issue?
Yes
No


modify and format dinky-pg.sql

Purpose of the pull request
modify dinky-pg.sql
Brief change log

add dinky-pg.sql default value,comment,trigger for update update_time
format dinky-pg.sql

Verify this pull request
This pull request is code cleanup without any test coverage.
This change added tests and can be verified as follows:

must be have primary key


PP-2804 - Fixed inconsistencies in styles and placement

Can you add a 1 line description of where it's missing from please. Both to the PR comment and the commit message?


A question about interacting with the selected region of a graph

Hello,
StreamSync is indeed a very useful visualization tool!
I encountered an issue while using StreamSync: I want to change the color (or perform other interactions) of the data within the selected region when displaying a graph using the Plotly Graph tool. I tried using scatter.on_selection(selection_fn) and defined the selection_fn function to change the color of the selected region. This method worked successfully in the notebook, but it doesn't achieve the desired effect in StreamSync. Can StreamSync achieve the effect I want, and how should I adjust the code?

Hi nxixi, unfortunately this isn't yet supported. I'm not sure it's viable since the renderer used by Plotly differs in terms of notebook and browser.
If anyone knows whether this is supported in any non-notebook solution, I'd appreciate if you can point me to it so I can have a look and understand how to solve this challenge. I checked Streamlit, but I believe they're also lacking this capability.

Hi, sharing this update for anyone who might be interested in this.
It's now possible to listen to Plotly events (click, selection and deselection) using Streamsync events. This differs from on_click, on_selection as these are for notebook widgets.

https://github.com/streamsync-cloud/streamsync/assets/64783088/de6ee1fc-788a-4379-9d30-2169b62259e1


Wrong link

[Enter feedback here]
Hi, please correc the first link:
paragraph:
Typically, cloud-hosted environments are used to provide more control over a development or build environment. For more details, see Choose a data integration (import/export) strategy.
wrong link:
https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/data-entities/integration-overview
correct link:
https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/lifecycle-services/lcs-user-guide
Thanks,
Andreas

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

ID: 6b9cd3cc-5f85-3f61-4670-83e050cb30e4
Version Independent ID: 313ff91b-902d-7f27-f9b1-6aa4d2370945
Content: Set up new environments, VSTS, and branches for Retail projects - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/retail/dev-itpro/new-environments-visual-studio-teams-branch-retail-projects.md
Service: dynamics-365-retail
GitHub Login: @andreash1
Microsoft Alias: andreash

Thanks for the feedback. We have updated the topic.


[5.7] swift package should ask for plugin permissions interactively when on a TTY

This is the 5.7 cherry-pick nomination of https://github.com/apple/swift-package-manager/pull/5471
Command plugins can include a request for permission to modify the package directory. In this case, swift package should:
a) if connected to a TTY, ask a "do you want to do this" question and wait for input
b) if not connected to a TTY, emit a message that you need to pass --allow-writing-to-package-directory
rdar://89442616
(cherry picked from commit e65712cf6548677fb60ce17b8917031c0c11f239)

@swift-ci please smoke test


Failed to connect to BIGIP

Failed to connect to BIGIP-<IP_ADDRESS>
<IP_ADDRESS> cannot connect: Sent Rest Request

But I can open it from the browser

Failed to connect to BIGIP-<IP_ADDRESS> <IP_ADDRESS> cannot connect: Sent Rest Request
 But I can open it from the browser

Did you ever resolve this? I am experiencing the same issue. I can connect via the iControl path in a browser but I see the same error you do from Eclipse.

可能是ssh的按钮没有打开，在plantform里面有ssh的按钮开关.
It may be that the ssh button is not turned on, and there is a ssh button switch in plantform..
发自我的iPhone
------------------ Original ------------------
From: GitCouth @.>
Date: 周二,5月 24,2022 03:47
To: f5devcentral/f5-eclipse-plugin @.>
Cc: zhanglingsir @.>, Author @.>
Subject: Re: [f5devcentral/f5-eclipse-plugin] Failed to connect to BIGIP (#6)
Failed to connect to BIGIP-<IP_ADDRESS> <IP_ADDRESS> cannot connect: Sent Rest Request
But I can open it from the browser
Did you ever resolve this? I am experiencing the same issue. I can connect via the iControl path in a browser but I see the same error you do from Eclipse.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

It may be that the ssh button is not turned on, and there is a ssh button switch in plantform..

SSH Access is enabled in F5 System > Platform settings. Is there something on the Eclipse side that needs to be enabled?

Repository Archived


add profile grid view

This PR closes #941
I have added a grid view on profile page. When user click on any image they will be taken to the post view page of that particular post.

Hi @Palakkgoyal I've been meaning to suggest 2 things to you regarding this project and open source

while creating pr, you can use phrase like solves #99999 or fix #9999 or fixes #7799989 (there are lot many like this, available on web) . using these phrases anywhere in comment of the pr links the pr automatically to that issue and hence closes the issue automatically on successfull merge. I'm editting this pr as well to show u an example. This is really convenient.
There's a script pretty in the package.json in our project. Using that script you can automatically format all the files in our project(though there're some missing configuration that I will fix).Try using that script before committing to format everything.
To use that, run npm run pretty

i added some more changes, lmk how it looks now, cause I'm feeling happy after playing with css and able to not break Ui (perhaps) :')

Yes, It looks really better than before.


Error message in latest build "The data couldn’t be read because it isn’t in the correct format."

Upgraded to v. 6.1.4 (6120) and now get this error when attempting to refresh the feeds. Is this something I've broken or NNW? Thanks.

And it's now working; nothing changed her but seems to have fixed itself.


Install pip from cwl-ica conda env by exporting path first

Added to debug investigation of pip setuptools error

Will revert back and use single quotes

I think I'll just build a container for cwl-ica instead. Looks like it takes six minutes to even just install the basics. Could be useful from user endpoint too.

Thanks for your help debugging this Stephen, setuptools in conda env has worked and have created a docker image for amd and arm users too (which strips down a lot of the GH actions workflow too). Tested on separate ec2 instance and sync runs fine! Documentation on using container locally still to come. Will also deploy new release after this merge.


How to get the item after a put operation?

It seems scanamo is bubbling up the java type com.amazonaws.services.dynamodbv2.model.PutItemResult. This way one cannot access the item back from dynamo.
Any thoughts / hints to solve this?

There's a recently merged change (https://github.com/guardian/scanamo/pull/153) which will instead return the state before the change (if any) from a put. This isn't yet released, but should be soon.
If you want the state after, won't that just be what you've just passed in?

Thank you @philwills. You are right. I wasn't sure the dynamoDB does nothing to the item on its own.
Your proposed PR is a nice improvement to retrieve the old state without an additional read op.


Permission denied

Whenever I do "gem install rb2exe" in my command prompt it says "ERROR:  While executing gem ... (Errno::EACCES)
Permission denied @ rb_file_s_symlink - (bin/traveling-ruby-2.2.2/osx/lib/libcrypto.1.0.0.dylib, C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/rb2exe-0.3.1/bin/traveling-ruby-2.2.2/osx/lib/libcrypto.dylib)" How do I fix?

I don't know what OS you're on, but on Windows, run cmd as administrator and it'll install.


How to

hello everyone,i want to update hls version from v3 to v7

now it suppert only:EXT-X-VERSION:3


yo i got a problem, Invalid dispatcher, requsted "hycov:movefocus" does not exist

i installed hycov with hyprpm
its installed on the latest main version :
Hyprland, built from branch HEAD at commit 03ebbe18ed8517ee22591eac82cd54322f42cb7d  (props: bump ver to 0.34.0).
Date: Mon Jan 1 12:03:15 2024
Tag: v0.34.0
flags: (if any)
extra/hyprland 0.34.0-1 [installed]
so i dont know why its happening
how i m using it:
plugin {
  hycov {
    overview_gappo = 50 # gaps width from screen edge
    overview_gappi = 14 # gaps width from clients
    hotarea_size = 10 # hotarea size in bottom left,10x10
    enable_hotarea = 1 # enable mouse cursor hotarea
    swipe_fingers = 4 # finger number of gesture,move any directory
    move_focus_distance = 100 # distance for movefocus,only can use 3 finger to move
    enable_gesture = 0 # enable gesture
    disable_workspace_change = 0 # disable workspace change when in overview mode
    disable_spawn = 0 # disable bind exec when in overview mode
    auto_exit = 1 # enable auto exit when no client in overview
    auto_fullscreen = 0 # auto make active window maximize after exit overview
    only_active_workspace = 0 # only overview the active workspace
    only_active_monitor = 0 # only overview the active monitor
    enable_alt_release_exit = 0 # alt swith mode,see readme for detail
    alt_toggle_auto_next = 0 # auto focus next window when toggle overview in alt swith mode
    click_in_cursor = 1 # target windwo is find by cursor, not the current foucus window.
    hight_of_titlebar = 0 # height deviation of title bar hight
    enable_alt_release_exit = 1
  }
}
# bind key to toggle overview(force mode,no affected by `only_active_workspace` and `only_active_monitor`)
bind = ALT,tab,hycov:toggleoverview,forceall
bind=ALT,left,hycov:movefocus,l
bind=ALT,right,hycov:movefocus,r
bind=ALT,up,hycov:movefocus,u
bind=ALT,down,hycov:movefocus,d

You need to log out and log back in each time you install it.

But this error message will appear briefly every time you log in, which is unavoidable,
If you want to avoid this message popping up, I recommend not using hyprpm reload to launch the plugin.
Instead, load the plugin directly on the configuration:
#hyprpm will install the.so file in the /usr/local/lib path
plugin = /usr/local/lib/libhycov.so
refer:
https://github.com/hyprwm/Hyprland/discussions/4373

✖ headers are not up-to-date, please run hyprpm update.

Hello, it seems that an update is needed in the latest version

This message seems to be telling  you to run
The 'hyprpm update' command
instead of requiring the plugin repository to do something

Oh, dear, but

This was after I updated hyprland-git today

how did you install  hyprland-git?

It seems that the hyprpm tool has a bug update, even if you do not use hycov, you can not use other official plugins, you may should submit a bug report to the hyprland community.
@0a00

OK,thanks

That happened to me as well so I downgraded to hyprland from pacman as the installed version from git clone is 0.34 but the latest maintained on aur is 0.31 so just install the pacman hyprland

#hyprpm will install the.so file in the /usr/local/lib path plugin = /usr/local/lib/libhycov.so

But if I use it as plugin = /usr/local/lib/libhycov.so I am stuck in an sddm loop

#hyprpm will install the.so file in the /usr/local/lib path plugin = /usr/local/lib/libhycov.so

But if I use it as plugin = /usr/local/lib/libhycov.so I am stuck in an sddm loop

how about this?

rmove your config plugin = /usr/local/lib/libhycov.so

rebuild hycov  manually

git clone https://github.com/DreamMaoMao/hycov.git
cd hycov
bash install.sh # `libhycov.so` path: /usr/lib/libhycov.so

then change you plugin config from  plugin = /usr/local/lib/libhycov.so to plugin = /usr/lib/libhycov.so.

yeah did that, plugin = ... still doesn't work
this works exec-once = hyprctl plugin load /usr/lib/libhycov.so so hyprctl does it... thanks anyway

yeah did that, plugin = ... still doesn't work
this works exec-once = hyprctl plugin load /usr/lib/libhycov.so so hyprctl does it... thanks anyway

refer to this:
https://github.com/hyprwm/Hyprland/issues/4284

refer to this:
hyprwm/Hyprland#4284

Every time you use yay-S hyprland-git to update hyprland, you need rm -rf /usr/include/hyprland and then run the hyprpm update update
@0a00 @daUnknownCoder

Thank you very much. Problem solved


add the nodecheck crash command

lgtm. @bogensberger  what do you think?

[Current coverage][cc-pull] is 76.88%

Merging [#142][cc-pull] into [master][cc-base-branch] will decrease coverage by 1.61%

@@             master       #142   diff @@
==========================================
  Files            16         14     -2
  Lines          1577       1497    -80
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           1238       1151    -87
- Misses          339        346     +7
  Partials          0          0

Powered by Codecov. Last updated by [0404eab...d313bf3][cc-compare]
[cc-base-branch]: https://codecov.io/gh/crate/crash/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/crate/crash/compare/0404eabe22ff51b6952ac7400258a52c19b0e4e9...d313bf37081f3823be996cf5faf94070e34129b5?src=pr
[cc-pull]: https://codecov.io/gh/crate/crash/pull/142?src=pr

muy bien


Simplify att.numberPlacement

Do we need to have the attribute @num.visible in addition to @num.place? Shouldn't it be enough to say @num.place="none"?

Why is att.numberPlacement actually in MEI.cmn and not in MEI.visual?

ODD meeting notes:

we think you're totally right, either it is placed or not, if not, then location is irrelevant if above or below it can't be invisible ;-)
Could you please file a PR?

Sometimes it's useful to be able to show/hide a number, even if it has a place. I'm not generally a fan of mixing data types and implicit behaviours. A staff placement and a visibility flag are two different types of data.
So I'm +1 to keeping both.


Actually we should remove it entirely and start from scratch with the demo doc.


[CS2103T-W10-4] ModtRekt

ModtRekt  helps undergraduate students to plan their studies by allowing students to choose the modules they would like to take and add tasks/deadlines for each of them.

Codecov Report
Base: 72.15% // Head: 72.10% // Decreases project coverage by -0.05% :warning:

Coverage data is based on head (5946105) compared to base (77a32bf).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master       #9      +/-   ##
============================================
- Coverage     72.15%   72.10%   -0.06%
  Complexity      399      399
============================================
  Files            70       70
  Lines          1232     1233       +1
  Branches        125      125
============================================
  Hits            889      889
- Misses          311      312       +1
  Partials         32       32

Impacted Files
Coverage Δ

src/main/java/seedu/address/Main.java
0.00% <0.00%> (ø)

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.


#284 Add a copy mind map button

closes #284

thanks, already looking good 👍
UX:

Maybe we can add a small info note popup that says "Successfully cloned" ? Otherwise it's the user might think nothing happened - as the map looks the same. Only thing I could found is the Dialog in material ui.

PR:

Please Add a "closes #ISSUE_NUMBER_HERE" in the description

Test:

Maybe add one controller test, only for this method? we can add other controller tests in a separate PR.

UX:

Maybe we can add a small info note popup that says "Successfully cloned" ? Otherwise the user might think nothing happened - as the map looks the same. Only thing I could found is the Dialog in material ui.

Do we already have something similar for other use cases? Could integrate ngx-toastr otherwise, but I don't know if that's maybe a bit overkill.

UX:

Maybe we can add a small info note popup that says "Successfully cloned" ? Otherwise the user might think nothing happened - as the map looks the same. Only thing I could found is the Dialog in material ui.

Do we already have something similar for other use cases? Could integrate ngx-toastr otherwise, but I don't know if that's maybe a bit overkill.

only material dialogs which are also quite heavy for just displaying a simply message. otherwise we could also just code/style or own, not sure if a library is suited just for small alerts.


Dev Functionality: Turn Off Seeding Users on Restart

Basically this is a larger issue, we need to implement Cobra on golang and make migrations a command rather than a default function.


lombok: 1.18.26 -> 1.18.28

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/lombok/versions.
meta.description for lombok is: A library that can write a lot of boilerplate for your Java project
meta.homepage for lombok is: https://projectlombok.org/
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.18.28 in filename of file in /nix/store/jwjlvzfn4y46rz6w81w4n4hgdcavv72i-lombok-1.18.28

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
lombok

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jwjlvzfn4y46rz6w81w4n4hgdcavv72i-lombok-1.18.28 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A lombok https://github.com/r-ryantm/nixpkgs/archive/6c504b7a337864067b5f5fa469215244ae313d95.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jwjlvzfn4y46rz6w81w4n4hgdcavv72i-lombok-1.18.28
ls -la /nix/store/jwjlvzfn4y46rz6w81w4n4hgdcavv72i-lombok-1.18.28/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

lombok

Maintainer pings
cc @CrystalGamma for testing.

Result of nixpkgs-review pr 238220 run on x86_64-linux 1

2 packages built:

lombok
lombok.bin

Result of nixpkgs-review pr 238220 run on aarch64-darwin 1

2 packages built:

lombok
lombok.bin

Result of nixpkgs-review pr 238220 run on aarch64-darwin 1

2 packages built:

lombok
lombok.bin


Waiting instead of Operational

Instead of Operational there just Waiting written and nothing is loading. What can I do about it?

Are you running a Mac version?

I also have the same "Loading" screen since 0.17.0, I enabled every API but it doesn't work. I guess it's unstable right now so I'll wait for a while. Thanks for the good work anyway!

works fine for me

I also got "please wait, Loading.."

I checked the console and it only shows:
server up: null
main.html:146 Error getting location, trying second provider PositionError
main.html:148 Found location [45.5401,-73.6225] by ipinfo.io
Then it does nothing after that, not sure if I could enter some command to force it to go on?

@markus-zhang Same as mine console.

@dacutz3 OK guys I got this running up smoothly. It's easy, I'm running win7 64, just INSTALL UNDER ADMINISTRATOR account, not user accounts. After that it runs smoothly.

@markus-zhang How do you manage to do that? I am using the .exe version of the Desktop Map

@dacutz3  Just log off win7 and log in the Administrator account. If you don't know how to enable Administrator account for win7, you might need to google for it. I forgot what I did as it was a long time ago.

@markus-zhang Oh, I see what you mean.. I always use the administrator account on this computer.. still no luck.

@dacutz3 Sorry to hear that...Not sure what you can do right now. I'm also reading reddit where a lot of users have the same problem.

New accounts need to accept ToS in game before they can play.  I had this problem and tried another account that was level 3 or something and it worked right away.


RangeError [ERR_INVALID_OPT_VALUE] ...

Environment

OS: Ubuntu 21.10
Node version: v12.22.5
gtop version: 1.1.2

Description
Newly installed, run and getting this error.
RangeError [ERR_INVALID_OPT_VALUE]: The value "-36" is invalid for option "size"
at Function.alloc (buffer.js:370:3)
at new Buffer (buffer.js:284:19)
at new Canvas (/usr/local/lib/node_modules/gtop/node_modules/drawille-blessed-contrib/index.js:17:18)
at new Context (/usr/local/lib/node_modules/gtop/node_modules/drawille-canvas-blessed-contrib/index.js:11:18)
at module.exports.Canvas.getContext (/usr/local/lib/node_modules/gtop/node_modules/drawille-canvas-blessed-contrib/index.js:274:24)
at Donut. (/usr/local/lib/node_modules/gtop/node_modules/blessed-contrib/lib/widget/canvas.js:23:29)
at Donut.EventEmitter._emit (/usr/local/lib/node_modules/gtop/node_modules/blessed/lib/events.js:98:20)
at Donut.EventEmitter.emit (/usr/local/lib/node_modules/gtop/node_modules/blessed/lib/events.js:117:12)
at emit (/usr/local/lib/node_modules/gtop/node_modules/blessed/lib/widgets/node.js:109:15)
at Screen.Node.insert (/usr/local/lib/node_modules/gtop/node_modules/blessed/lib/widgets/node.js:111:5)

Hi, where do you run it? Is it in an IDE to debug? might be related to a small terminal size.

You had it right; I had it in too small a terminal size. Sorted as long as running on big enough terminal. Tx.


Add TravisCI, CircleCI or similar to run tests etc?

Since this gem actually have tests 😱 , would it not be nice if they were actually run upon new MRs etc?
If we take a look at the versioning plugin for fastlane the .travis.yml is pretty basic.
It would also mean a badge more for the README 🚀

I added the repo to Travis CI, but it looks like it was actually already there: https://travis-ci.org/ThePerfectApp/fastlane-plugin-tpa.


go/test2json: panic in goroutine results in missing Action=Fail TestEvent

Related to #37555
What version of Go are you using (go version)?

$ go version
go version go1.14.2 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOOS=linux
GOARCH=amd64

What did you do?
package mypkg

import (
	"testing"
	"time"
)

func Test_PanicInGoroutine(t *testing.T) {
	go func() { panic("panicing in a goroutine") }()
	time.Sleep(10 * time.Millisecond)
}

$ go test
panic: panicing in a goroutine

goroutine 7 [running]:
gotest.tools/gotestsum/tmp2.Test_PanicInGoroutine.func1()
	/home/daniel/pers/code/gotestsum/tmp2/main_test.go:9 +0x39
created by gotest.tools/gotestsum/tmp2.Test_PanicInGoroutine
	/home/daniel/pers/code/gotestsum/tmp2/main_test.go:9 +0x35
FAIL	gotest.tools/gotestsum/tmp2	0.003s
FAIL

$ go test -json
{"Time":"2020-04-11T18:36:29.705478289-04:00","Action":"run","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine"}
{"Time":"2020-04-11T18:36:29.705575001-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"=== RUN   Test_PanicInGoroutine\n"}
{"Time":"2020-04-11T18:36:29.707652936-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"panic: panicing in a goroutine\n"}
{"Time":"2020-04-11T18:36:29.707663408-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"\n"}
{"Time":"2020-04-11T18:36:29.707666872-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"goroutine 7 [running]:\n"}
{"Time":"2020-04-11T18:36:29.707669584-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"gotest.tools/gotestsum/tmp2.Test_PanicInGoroutine.func1()\n"}
{"Time":"2020-04-11T18:36:29.707675539-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"\t/home/daniel/pers/code/gotestsum/tmp2/main_test.go:9 +0x39\n"}
{"Time":"2020-04-11T18:36:29.707688443-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"created by gotest.tools/gotestsum/tmp2.Test_PanicInGoroutine\n"}
{"Time":"2020-04-11T18:36:29.707695646-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Output":"\t/home/daniel/pers/code/gotestsum/tmp2/main_test.go:9 +0x35\n"}
{"Time":"2020-04-11T18:36:29.707843506-04:00","Action":"output","Package":"gotest.tools/gotestsum/tmp2","Output":"FAIL\tgotest.tools/gotestsum/tmp2\t0.003s\n"}
{"Time":"2020-04-11T18:36:29.707855313-04:00","Action":"fail","Package":"gotest.tools/gotestsum/tmp2","Elapsed":0.003}

What did you expect to see?
In go1.13 and earlier I received the following TestEvent:
{"Time":"2020-04-11T22:37:41.54673436Z","Action":"fail","Package":"gotest.tools/gotestsum/tmp2","Test":"Test_PanicInGoroutine","Elapsed":0.004}

What did you see instead?
That event was missing. There is an Action=fail for the package, but none for the test.

@bcmills @jayconrod @matloob

The new output seems correct to me. The goroutine that panics may not be related in any way to the test that was running during the panic, so the failure should not be attributed to that specific test.
(Consider, for example: https://play.golang.org/p/C9JJsDkzOhM.)

+1. Not sure whether this was changed intentionally, but the new behavior seems more correct. A panic in a goroutine other than the one running a test can't always be attributed to a specific test. It could have been started by a parallel test, a previous test, TestMain, or something else.

Shouldn't any test which has a Action=run have a corresponding Action=pass or fail ? That seemed to be the case in previous versions of Go. This test has failed, but there is no Action=fail for the test.

Shouldn't any test which has an Action=run have a corresponding Action=pass or fail ?

No. If the process exits before the test function completes, and nothing in the test so far has invoked (*T).Fail then the test has neither passed nor failed, so it would be inaccurate to report any result for it. (#29062 is related.)

The panic is already associated with the test. The output TestEvent has the test name on it.

Aha, that is a bug!

But maybe that bug is more helpful than it is harmful: the goroutine isn't necessarily associated with the currently-running test, but background-goroutine panics probably do relate to the running test more often than not.

Based on the conversation above, I believe it's safe to remove WaitingForInfo label by now. If that isn't true, please feel free to add it again and specify what information is needed.

I believe this output is correct, per the discussion above. The test function did not explicitly fail. The test died instead. That's a different kind of outcome, and it has a different kind of output.

But a panic generally does result in an explicit fail event. Consider these two examples using go1.19.2:
func Test_PanicInGoroutine(t *testing.T) {
	go func() { panic("panicing in a goroutine") }()
	time.Sleep(10 * time.Millisecond)
}

Output: (no fail event for the test)
{"Time":"2022-10-15T13:02:00.320120402-04:00","Action":"run","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine"}
{"Time":"2022-10-15T13:02:00.320163078-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"=== RUN   Test_PanicInGoroutine\n"}
{"Time":"2022-10-15T13:02:00.322259556-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"panic: panicing in a goroutine\n"}
{"Time":"2022-10-15T13:02:00.322267286-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"\n"}
{"Time":"2022-10-15T13:02:00.322269464-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"goroutine 7 [running]:\n"}
{"Time":"2022-10-15T13:02:00.322271383-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"gotest.tools/v3/tmp.Test_PanicInGoroutine.func1()\n"}
{"Time":"2022-10-15T13:02:00.322273757-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"\t/home/daniel/pers/code/gotest.tools/tmp/main_test.go:9 +0x27\n"}
{"Time":"2022-10-15T13:02:00.322275633-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"created by gotest.tools/v3/tmp.Test_PanicInGoroutine\n"}
{"Time":"2022-10-15T13:02:00.322277138-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInGoroutine","Output":"\t/home/daniel/pers/code/gotest.tools/tmp/main_test.go:9 +0x25\n"}
{"Time":"2022-10-15T13:02:00.322411598-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Output":"FAIL\tgotest.tools/v3/tmp\t0.003s\n"}
{"Time":"2022-10-15T13:02:00.322419607-04:00","Action":"fail","Package":"gotest.tools/v3/tmp","Elapsed":0.003}

compare this to
func Test_PanicInTest(t *testing.T) {
	panic("panicing in a test")
}

Output: (includes a test fail event)
{"Time":"2022-10-15T13:02:50.132424104-04:00","Action":"run","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest"}
{"Time":"2022-10-15T13:02:50.132473025-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"=== RUN   Test_PanicInTest\n"}
{"Time":"2022-10-15T13:02:50.132484758-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"--- FAIL: Test_PanicInTest (0.00s)\n"}
{"Time":"2022-10-15T13:02:50.134605362-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"panic: panicing in a test [recovered]\n"}
{"Time":"2022-10-15T13:02:50.134613159-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\tpanic: panicing in a test\n"}
{"Time":"2022-10-15T13:02:50.134615738-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\n"}
{"Time":"2022-10-15T13:02:50.134617376-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"goroutine 6 [running]:\n"}
{"Time":"2022-10-15T13:02:50.134619005-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"testing.tRunner.func1.2({0x503180, 0x5517b8})\n"}
{"Time":"2022-10-15T13:02:50.134623868-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\t/opt/go1.19/src/testing/testing.go:1396 +0x24e\n"}
{"Time":"2022-10-15T13:02:50.134625589-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"testing.tRunner.func1()\n"}
{"Time":"2022-10-15T13:02:50.134626971-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\t/opt/go1.19/src/testing/testing.go:1399 +0x39f\n"}
{"Time":"2022-10-15T13:02:50.134628421-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"panic({0x503180, 0x5517b8})\n"}
{"Time":"2022-10-15T13:02:50.134629781-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\t/opt/go1.19/src/runtime/panic.go:884 +0x212\n"}
{"Time":"2022-10-15T13:02:50.134631198-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"gotest.tools/v3/tmp.Test_PanicInTest(0x0?)\n"}
{"Time":"2022-10-15T13:02:50.134632618-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\t/home/daniel/pers/code/gotest.tools/tmp/main_test.go:8 +0x27\n"}
{"Time":"2022-10-15T13:02:50.134634435-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"testing.tRunner(0xc000007860, 0x52f338)\n"}
{"Time":"2022-10-15T13:02:50.134635847-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\t/opt/go1.19/src/testing/testing.go:1446 +0x10b\n"}
{"Time":"2022-10-15T13:02:50.134637274-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"created by testing.(*T).Run\n"}
{"Time":"2022-10-15T13:02:50.134713803-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Output":"\t/opt/go1.19/src/testing/testing.go:1493 +0x35f\n"}
{"Time":"2022-10-15T13:02:50.134873903-04:00","Action":"fail","Package":"gotest.tools/v3/tmp","Test":"Test_PanicInTest","Elapsed":0}
{"Time":"2022-10-15T13:02:50.134885688-04:00","Action":"output","Package":"gotest.tools/v3/tmp","Output":"FAIL\tgotest.tools/v3/tmp\t0.003s\n"}
{"Time":"2022-10-15T13:02:50.134890572-04:00","Action":"fail","Package":"gotest.tools/v3/tmp","Elapsed":0.003}

In both cases the test did not explicitly fail, but in one case we get the correct events, and the other we do not.
How are tools that use the test2json output supposed to deal with this? Are they expected to have to parse the full output to figure out that the test panicked? Isn't the purpose of the Action field in events to communicate the result of a test? A lack of any pass or fail for a test case seems ambiguous.
@rsc could I ask you to reconsider this?


Accessing a signal outside a reactive tracking context

When attempting to reactively update an icon using a signal like:
<Icon icon=icon_signal class="h-6 w-6 text-gray-400"/>,
I encountered the warning: Signal or memo accessed outside a reactive tracking context (defined at /rustc/ad963232d9b987d66a6f8e6ec4141f672b8b9900/library/core/src/convert/mod.rs:716:9) on the line let icon: IconData = icon.get().into(); in lib.rs.
Wouldn't it be more appropriate to handle the signal inside the Icon component so that it'll react on change (for example, if modifying the icon from another component). This is what I had in mind:
    let icon_signal = move || icondata::IconData::from(icon.get());
    // handle rest of svg attr's
    ...

This seems like a bug. Can you please provide the relevant part of the component that produces this warning, and specify the version of this library and the version of leptos you are using.
FYI: The inputs to the Icon component are already all of type MaybeSignal<T> so the library should already be able to handle signals (I think).

I've been using the lates leptos version (0.5.0-rc3) and the main branch for leptos-icons, however I think this issue occurs on previous leptos version as well due to the fact that the get method was used outside of a closure inside the component's body, here. I've prepared a pr which fixes this.

I will publish version 0.0.16-rc3, and the bug should be fixed


关于OAG的继续预训练

您好，我正在尝试在其他领域利用OAG-BERT的策略进行预训练实现效果，请问你们现在是否开源了OAG-BERT的预训练代码呢？我好像没有在源码中找到。谢谢

Currently, we do not release the pre-training code (and as far as I know the pre-training part will not be released). Sorry for that. But you can refer to the Roberta training code if you want to reproduce the training of OAG-BERT. BTW, if you just want to continue training on OAG-BERT, you do not necessarily need to the exact same code as the pre-training part, just following any other BERT model fine-tuning code will be fine I think.

Hi, thanks for your excellent work! I am still focusing on this fine-tuning issue, since the OAG-BERT is currently based on CogDL ecosystem which i am not quite familiar with. The document of OAG-BERT did not show the fine-tuning logic but only some APIs. So may i ask for updating or providing some coding details or demos about how to fine-tuning on this wonderful work.

Hi, thanks for your excellent work! I am still focusing on this fine-tuning issue, since the OAG-BERT is currently based on CogDL ecosystem which i am not quite familiar with. The document of OAG-BERT did not show the fine-tuning logic but only some APIs. So may i ask for updating or providing some coding details or demos about how to fine-tuning on this wonderful work.

The pre-training code and fine-tuning code we do not plan to release it because it is not ready for general use. We were using DeepSpeed training framework and had lots of dirty code (including debugging and logging) for it so it is a bit far from being released. If you are interested in it, I would recommend you to try the Microsoft DeepSpeed framework, or use the general transformer training script. The mechanism is the same.


Release/1.2.3

Same as stack-of-tasks/dynamic-graph#63 : please don't merge :)
Among other changes:

use cmake-exports from dependencies
install cmake-exports for this package
scripts have been moved to tests/python and used as such
the python module is now tsid.so, instead of

tsid/
├── __init__.py
└── libtsid_pywrap.so

@nim65s Please do not rename the Python package as tsid.so. It won't be compatible with conda for instance.

ok

But I'd really like to understand that better. Do you have any resource for claim ?

Not really, but this what I had to fix.

Ok, then let's just keep things ugly and hate conda a bit more :)

I think the issue was for Windows if I remember well. And you cannot do for instance tsid.file

Oops, I forgot that, sorry.


Validate signature on PoET messages

Following https://github.com/spacemeshos/poet/issues/51 we should adapt the PoET verification code to consider that the PoET commitment is now hash(concat(membershipRoot, poetId)). We should also verify the signature on the message.

@noamnelke @poszu what is the state on this? Is this still needed or can the ticket be closed?


Request to get jterminal on Central.

Please get jterminal onto The Central Repository.  This would help resolve jterminal as a maven dependency.
I would recommend using Sonatype's free oss hosting service.  Instructions are here:
https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
Iv'e made some updates to the pom file that might help in this process.

I'll look at doing this asap, although shouldn't this line: https://github.com/hef/jterminal/commit/84e44aa630bf6c2d84ccf29add2c68d444c7c0ec#L0R24 refer to git://github.com/grahamedgecombe/jterminal.git?

yes, yes it should.  I was copying settings from one of my projects, and I missed changing that one.  The new branch head should reflect the correct value.

I just committed & pushed another change, and have now created a 'new project' issue.

JTerminal is now in the Sonatype OSS releases repository, I have commented on the ticket for them to enable central sync so hopefully it will be in Central soon.

It is now in central :)


Replace MaterialDesign by the default HTML stylesheet

Created sample app now uses MaterialDesign styles extensions as a default styles.
IMHO, default styles should support more basic stuff (like HTML stylesheet).

New repo: https://github.com/Neft-io/neft-default-styles
Integration commit: https://github.com/Neft-io/neft-sample-project/commit/3ae4c9b879e777f08adcdbd0876e925d3d1332e9
neft-default-styles now is published in NPM.
neft-styles-material-design has been deprecated.


Fix hook implementation for orgs and repos

Hooks now should be provided and will be returned as a list of dict.
This is required as the name is not a single key as assumed. All web hooks have the name "web" therefore breaking the logic of dothub.
Fix hook implementation for orgs and repos
Fixes #45

Changes Unknown when pulling fef43b9e1f43d299df3de35cd26de4703b5b131d on org_hooks into ** on master**.


Clarus mqtt problem

Hello, I have a problem with sending mqtt from node red to MQTT433gateway protocol clarus.
The subject I send to is rf434 / send / clarus_switch
or rf434 / send / rev2_switch
the code received from the remote control is
"rf signal received: {" id ":" A3 "," unit ": 4," state ":" on "} with protocol clarus_switch deviceID = A3"
and tries to send with such syntax {"id": "A3", "unit": 4, "state": "on"} what am I doing wrong? What is the correct syntax for MQTT433gateway to pick up mqtt from node red?
I tried in many ways but I always get some error : "transmitting failed: message is invalid" , "message is not a proper json object" or insufficient number of arguments, what is the correct syntax ?
When i send
"id": "A3",
"unit": 4,
"state": "ON"
it returns me such an error: pilight(3): clarus_switch: insufficient number of arguments
transmitting failed: message is invalid

Thank your for trying MQTT433gateway!
Unfortunately, the syntax for transmitting differs from receiving, due to the implementation in pilight.
If you receive: {"id": "A3", "unit": 4, "state": "on"}
Please try:
on: {"id": "A3", "unit": 4, "on": 1}
off: {"id": "A3", "unit": 4, "off": 1}