Tapd RPC appears to refuse to start?

When running both lnd and tapd in integrated mode, it seems that the tapd RPC refuses to start, and the tapcli refuses to connect. lncli however works just fine, as well as litcli.
weirdly it looks like it starts fine:
2024-08-06 00:36:21.787 [INF] RPCS: Trader server is now active
2024-08-06 00:36:21.845 [INF] SSVR: Opening sqlite3 database at: /Tapd/data/mainnet/tapd.db
2024-08-06 00:36:21.855 [INF] TADB: Attempting to apply migration(s) (current_db_version=21, latest_migration_version=21)
2024-08-06 00:36:21.855 [INF] TADB: Current database version is up-to-date, skipping migration attempt and backup creation (current_db_version=21, max_migration_version=21)
2024-08-06 00:36:21.856 [INF] TADB: Database version after migration: 21
2024-08-06 00:36:22.436 [INF] SSVR: Configuring universe.lightning.finance:10029 as initial Universe federation server
2024-08-06 00:36:22.436 [INF] TSVR: Version: 0.4.1-alpha commit=v0.4.2-0.20240725155459-2bf18437e945, build=production, logging=default, debuglevel=debug
2024-08-06 00:36:22.436 [INF] TSVR: Active network: mainnet
2024-08-06 00:36:22.436 [INF] RPCS: Validating RPC requests based on macaroon at: /Tapd/data/mainnet/admin.macaroon
2024-08-06 00:36:22.438 [INF] GRDN: Starting ChainPlanter
2024-08-06 00:36:22.463 [INF] GRDN: Retrieved 2 non-finalized batches from DB
2024-08-06 00:36:22.463 [INF] GRDN: Starting asset custodian
2024-08-06 00:36:22.463 [INF] GRDN: Gardener for ChainPlanter now active!
2024-08-06 00:36:22.463 [INF] GRDN: Loading pending inbound asset events
2024-08-06 00:36:22.463 [INF] RPCS: New transaction subscription
2024-08-06 00:36:22.464 [INF] GRDN: Starting re-org watcher
2024-08-06 00:36:22.464 [INF] NTFN: New block epoch subscription
2024-08-06 00:36:22.464 [INF] GRDN: New block at height 855597
2024-08-06 00:36:22.465 [INF] GRDN: Resuming 0 pending inbound asset events
2024-08-06 00:36:22.465 [INF] GRDN: Loading wallet transactions starting at block height 0
2024-08-06 00:36:22.476 [INF] GRDN: Checking 6 wallet transactions for inbound assets, this might take a while
2024-08-06 00:36:22.478 [INF] GRDN: Starting main custodian event loop
2024-08-06 00:36:22.490 [INF] FRTR: Starting ChainPorter
2024-08-06 00:36:22.491 [INF] UNIV: Starting FederationEnvoy
2024-08-06 00:36:23.048 [INF] UNIV: Adding new Universe server to Federation, addrs=([]universe.ServerAddr) (len=1 cap=1) {
 (universe.ServerAddr) {
  ID: (int64) 0,
  addrStr: (string) (len=32) "universe.lightning.finance:10029",
  addr: (net.Addr) <nil>
 }
}

We see some later activity as well once litd has been running for a bit of time, although with some kinda connection error:
2024-08-06 11:49:46.980 [INF] UNIV: Attempting to sync universe: host=universe.tiramisuwallet.com, sync_type=full, ids=([]universe.Identifier) <nil>

2024-08-06 11:49:46.981 [INF] UNIV: Fetching 0 roots
2024-08-06 11:49:46.981 [INF] UNIV: Obtained 0 roots from remote Universe server
2024-08-06 11:49:46.981 [WRN] GRPC: [core] [Channel #558 SubChannel #559] grpc: addrConn.createTransport failed to connect to {Addr: "<IP_ADDRESS>:10029", ServerName: "<IP_ADDRESS>:10029", }. Err: connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:10029: operation was canceled"
2024-08-06 11:49:47.025 [INF] UNIV: Fetching 0 roots
2024-08-06 11:49:47.025 [INF] UNIV: Obtained 0 roots from remote Universe server
2024-08-06 11:49:47.025 [WRN] GRPC: [core] [Channel #560 SubChannel #562] grpc: addrConn.createTransport failed to connect to {Addr: "<IP_ADDRESS>:10029", ServerName: "<IP_ADDRESS>:10029", }. Err: connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:10029: operation was canceled"
2024-08-06 11:49:47.025 [INF] UNIV: Fetching 0 roots
2024-08-06 11:49:47.025 [INF] UNIV: Obtained 0 roots from remote Universe server
2024-08-06 11:49:47.025 [WRN] GRPC: [core] [Channel #561 SubChannel #563] grpc: addrConn.createTransport failed to connect to {Addr: "<IP_ADDRESS>:10029", ServerName: "<IP_ADDRESS>:10029", }. Err: connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:10029: operation was canceled"

Meanwhile tapcli is returning this error (lncli working just fine for getinfo):
./tapcli --network=mainnet getinfo
[tapcli] rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:10029: connect: connection refused"

And then when litd is terminated, I do see an odd error message about tapd refusing to start:
024-08-06 11:55:42.629 [ERR] STAT: could not start the taproot-assets sub-server: received critical error from sub-server (taproot-assets), shutting down: unable to receive new block notifications: rpc error: code = Canceled desc = grpc: the client connection is closing

When I run tapd daemon independently and call tapcli it works just fine. Configs are the same for Tapd.conf and Litd.conf.
Expected behavior
tapcli getinfo to respond
Actual behavior
Described above
To reproduce
Every time I restart
System information

Using the official binary for lightning-terminal-darwin-amd64-v0.13.3-alpha
Litd.conf:

uipassword=[redacted]
lnd-mode=integrated
taproot-assets-mode=integrated
lnd.bitcoin.node=neutrino
lnd.rpcmiddleware.enable=true
lnd.feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json
lnd.neutrino.addpeer=[redacted]
lnd.bitcoin.active=true
lnd.bitcoin.mainnet=true
lnd.restlisten=localhost:8080
lnd.debuglevel=info
lnd.rpclisten=localhost:10009
lnd.tlsautorefresh=true

taproot-assets.network=mainnet
taproot-assets.debuglevel=debug
taproot-assets.lnd.host=localhost:10009
taproot-assets.lnd.macaroonpath=[redacted]/bitcoin/mainnet/admin.macaroon
taproot-assets.lnd.tlspath=[redacted]/tls.cert
taproot-assets.rpclisten=localhost:10029
taproot-assets.restlisten=localhost:8089
taproot-assets.tlsautorefresh=true

What if you try to remove the universe.tiramisuwallet.com universe server? It looks like it was unable to do a DNS query somewhere there. Ofc, that should be updated to be more robust there.

@Roasbeef so I ran tapd independently, then was able to remove universe.tiramisuwallet.com
Not sure if this log line is relevant/interesting btw from the tapd independent client:
2024-08-06 14:53:31.941 [INF] RPCS: RPC server listening on <IP_ADDRESS>:10029
2024-08-06 14:53:31.941 [ERR] TCHN: Error setting up invoice acceptor: rpc error: code = Unimplemented desc = unknown method HtlcModifier for service invoicesrpc.Invoices
2024-08-06 14:53:31.946 [INF] CONF: Starting HTTPS REST proxy listener at <IP_ADDRESS>:8089
2024-08-06 14:53:31.946 [INF] RPCS: gRPC proxy started at <IP_ADDRESS>:8089
2024-08-06 14:53:31.946 [INF] TSVR: Taproot Asset Daemon fully active!

But anyhow, tapcli independently worked to remove the universe:
lightning-terminal-darwin-amd64-v0.13.3-alpha % ./tapcli --network=mainnet universe federation list
{
    "servers":  [
        {
            "host":  "universe.lightning.finance:10029",
            "id":  1
        }
    ]
}

... but no change in behavior. Still connection refused once I switch to ./litd
I can see the ports being binded for everything else:
litd      50602  MyPC   11u  IPv4 0x7457ba98fb016980      0t0  TCP <IP_ADDRESS>:8443 (LISTEN)
litd      50602  MyPC   15u  IPv4 0x82614e49935ba30d      0t0  TCP <IP_ADDRESS>:10009 (LISTEN)
litd      50602  MyPC   76u  IPv4 0x20680d9c065c45ab      0t0  TCP <IP_ADDRESS>:8080 (LISTEN)
litd      50602  MyPC   94u  IPv6  0x6ee75acd9b95431      0t0  TCP *:9735 (LISTEN)

What version of lnd are you running against?
Are you able to get a goroutine profile? For both the case with standalone lnd and with litd?

@Roasbeef
./lncli getinfo
{
    "version": "0.18.2-beta commit=lightning-terminal-v0.13.3-alpha",
    "commit_hash": "00b2f7ece37f0564a95e84a9da6cd6f2310f14ef",
    ```

    Whats the easiest way to profile? I think I'll need to build the binary myself in that case if I'm not mistaken. Was having some issues with the build earlier so just downloaded the binary. But can give that another try since I want to try the taproot channels too

To profile you just need to set the --profile flag for lnd: --lnd.profile=PORT when running in integrated mode: https://github.com/lightningnetwork/lnd/blob/master/docs/debugging_lnd.md#capturing-pprof-data-with-lnd
If you visit the localhost link, then you can view the goroutine dump, which we want here to see what's holding up start up.

@habibitcoin I think your config might actually be the problem.
Try to remove this section:
taproot-assets.lnd.host=localhost:10009
taproot-assets.lnd.macaroonpath=[redacted]/bitcoin/mainnet/admin.macaroon
taproot-assets.lnd.tlspath=[redacted]/tls.cert

In integrated mode, an in memory buffer socket is used rather than the normal TCP based connection.

@Roasbeef seemed hopeful, but no luck there. Here is the goroutine profile: https://gist.github.com/habibitcoin/90c2a4754b52853130f5aef9bd85e3d6

@habibitcoin did you also make the config changes?

In that latest profile, all the tapd related goroutines look fine.
Also when you profile again, can you visit the localhost URL then paste that output? It's a bit more detailed.

Are you sure there's no actual [ERR] message in the log with the cause? Could you paste the full log of a fresh startup please?

Ayyy we got it lol
Was a misunderstanding/misconfiguration when using ./tapcli. Did not realize the rpc port was now shared + needed to use the same certificate location that is shown in ./lncli help
#./lncli help
[..]
GLOBAL OPTIONS:
   --rpcserver value          The host:port of LN daemon. (default: "localhost:10009") [$LNCLI_RPCSERVER]
[..]
      --tlscertpath value        The path to lnd's TLS certificate. (default: "/use/this/path/Lnd/tls.cert") [$LNCLI_TLSCERTPATH]
[..]

And then ./tapcli --network=mainnet --rpcserver=localhost:10009 --tlscertpath /use/this/path/Lnd/tls.cert getinfo worked!


Question: Availability Zone

Hi, I want to try using stack with current example from README.md :
module "stack" {
  source      = "github.com/segmentio/stack"
  name        = "nginx"
  environment = "test"
  key_name    = "keys/bastion-ssh"
  region      = "ap-southeast-1"
  availability_zones = ["ap-southeast-1a","ap-southeast-1b"]
}

module "nginx" {
  source          = "github.com/segmentio/stack/service"
  name            = "my-app"
  image           = "nginx"
  port            = 80
  environment     = "${module.stack.environment}"
  cluster         = "${module.stack.cluster}"
  iam_role        = "${module.stack.iam_role}"
  security_groups = "${module.stack.internal_elb}"
  subnet_ids      = "${module.stack.internal_subnets}"
  log_bucket      = "${module.stack.log_bucket_id}"
  zone_id         = "${module.stack.zone_id}"
  dns_name        = "nginx-beacon"
}

As I want to deploy my stack in region ap-southeast-1 and availability zone in ["ap-southeast-1a","ap-southeast-1b"], but I got this messages :
Error: Error applying plan:

7 error(s) occurred:

* module.stack.module.vpc.aws_subnet.external[2]: 1 error(s) occurred:

* aws_subnet.external.2: Error creating subnet: InvalidParameterValue: Value (ap-southeast-1a) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-west-2a, us-west-2b, us-west-2c.
	status code: 400, request id: 7e7b0653-f4cb-4aea-8533-98311f7d5311
* module.stack.module.vpc.aws_subnet.internal[1]: 1 error(s) occurred:

* aws_subnet.internal.1: Error creating subnet: InvalidParameterValue: Value (ap-southeast-1b) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-west-2a, us-west-2b, us-west-2c.
	status code: 400, request id: bf0f5ba3-0674-4e90-9f8f-41795d386c3a
* module.stack.module.vpc.aws_subnet.external[1]: 1 error(s) occurred:

* aws_subnet.external.1: Error creating subnet: InvalidParameterValue: Value (ap-southeast-1b) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-west-2b, us-west-2a, us-west-2c.
	status code: 400, request id: 36303a4a-2159-4b07-ab6a-d70f7f73f63e
* module.stack.module.vpc.aws_subnet.internal[2]: 1 error(s) occurred:

* aws_subnet.internal.2: Error creating subnet: InvalidParameterValue: Value (ap-southeast-1a) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-west-2a, us-west-2b, us-west-2c.
	status code: 400, request id: a7bfbeae-dd7d-47a7-9da1-86f27abeca77
* module.stack.module.vpc.aws_subnet.internal[0]: 1 error(s) occurred:

* aws_subnet.internal.0: Error creating subnet: InvalidParameterValue: Value (ap-southeast-1a) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-west-2a, us-west-2b, us-west-2c.
	status code: 400, request id: fd64bc6c-b5fd-4c19-ad3b-295cca79fe2b
* module.stack.module.vpc.aws_subnet.external[0]: 1 error(s) occurred:

* aws_subnet.external.0: Error creating subnet: InvalidParameterValue: Value (ap-southeast-1a) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-west-2a, us-west-2b, us-west-2c.
	status code: 400, request id: 2f3d758e-bdbd-4e45-a94d-b8bde5db7de9
* module.stack.module.ecs_cluster.aws_launch_configuration.main: 1 error(s) occurred:

* aws_launch_configuration.main: InvalidAMIID.NotFound: The image id '[ami-d603afb5]' does not exist
	status code: 400, request id: 6cab2352-f7df-48b1-98fd-f057b9de280e

I am using
➜ terraform version
Terraform v0.10.8

Ubuntu 17.10 amd64

Any suggestion that might fix my problem?
Thanks a lot!

I've transversed your exact journey @dendrochronology - Were you able to find a working workaround?

Please create environment variable in your app.py file in the following manner:-
env2={
"account":"Your Account ID",
"region":"ap-southeast-1",
}
and use this variable in the following manner:-
StackClass(app, "stack-name",env=env1)
I hope your problem should be solved, maybe its taking only default region values.


UI modification of Contact-Us Form

I would like to add   icons   ,placeholder ,    contact-form button effects  improvement and other css stuffs to  enhance the
UI of  Contact Us form as a GSSOC'21 participant . @ridsuteri @991rajat @urvashi-code1255 @harshgupta20 please assign
this issue to me. Thankyou .

@ridsuteri @991rajat @urvashi-code1255 @harshgupta20.Please assign this issue to me.Thankyou

@Tanya933 It is already assigned to someone. You can check other issues


odd error

I'm going thru this tutorial.  At 2.4.4, when I run the app in the debugger, I get an error "ModuleNotFoundError: No module named 'HelloDjangoAppdjango'.  this arises from manage.py command, "execute_from_command_line(sys.argv).
No where in the code have I used HelloDjangoAppdjango.  How or where did the django get appended???

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

ID: 09d5f2d3-bebb-5564-87df-8ab0eedb410c
Version Independent ID: c1dac521-a8f2-1b81-af35-bd9da71fb6e8
Content: Learn Django tutorial in Visual Studio step 2, views and page templates
Content Source: docs/python/learn-django-in-visual-studio-step-02-create-an-app.md
Product: visual-studio-windows
Technology: vs-python
GitHub Login: @JoshuaPartlow
Microsoft Alias: joshuapa

Hi @alkemiker - I just ran through the tutorial up to step 2.4.6 to verify that it was working as expected and didn't encounter the error you mentioned. You might try checking the settings.py file and verifying that you didn't add HelloDjangoAppdjango to the INSTALLED_APPS section. I think that would give the error you mentioned. Otherwise, if everything was working in step 2.3, perhaps go back to that point and try moving forward again. Let me know if that helps.

Joshua,
I had looked there before.  However, after your note, I moved the line ‘HelloDjangoApp’, from the beginning of the declaration to the end.  This worked.  Apparently, inserting lines into the pre-loaded commands is a no-no?  Might have worked had I compiled?
Anyway, thanks for the quick response it pointed me in the direction of a solution.
From: Joshua Partlow<EMAIL_ADDRESS>Sent: Tuesday, October 22, 2019 2:01 PM
To: MicrosoftDocs/visualstudio-docs<EMAIL_ADDRESS>Cc: alkemiker<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/visualstudio-docs] odd error (#4206)
Hi @alkemiker https://github.com/alkemiker  - I just ran through the tutorial up to step 2.4.6 to verify that it was working as expected and didn't encounter the error you mentioned. You might try checking the settings.py file and verifying that you didn't add HelloDjangoAppdjango to the INSTALLED_APPS section. I think that would give the error you mentioned. Otherwise, if everything was working in step 2.3, perhaps go back to that point and try moving forward again. Let me know if that helps.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/MicrosoftDocs/visualstudio-docs/issues/4206?email_source=notifications&email_token=ANPQL7GDICUVDSYWI6WC263QP45U3A5CNFSM4JDDP26KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB6UYMY#issuecomment-545082419 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANPQL7D7M23L6ZRTICXJNEDQP45U3ANCNFSM4JDDP26A .

Excellent, I'm glad that you were able to get back to a working state. Just as an added thought, it looks like you might also get that output if you didn't put a comma after the HelloDjangoApp entry. Anyway, since it seems like things are working again I'll close this issue, but feel free to open others if you encounter a problem with the tutorial.


Sender field not being honored

When I specify:
riemann {
       host => "riemanna.example.com"
       sender => "%{syslog_hostname}"
 . . .
}

The :host field on my riemann event is from the Logstash event's host field and not the syslog_hostname field.

which version of the plugin are you using?

2.0.2 with Logstash 2.1.1.

If I output the r_event variable at send I see:
{:timestamp=>"2016-02-07T19:42:11.470000+0000", :message=>"Riemann event: ", :riemann_event=>{:host=>"host.example.com", :time=>1454874131, :description=>nil, :service=>"tornado.api.response_time", :metric=>83.0, :state=>"ok", :port=>42257, :type=>"syslog", :syslog_timestamp=>"Feb  7 19:42:11", :syslog_hostname=>"app1-api1", :syslog_program=>"aom-clojure-rest", :syslog_severity_code=>5, :syslog_facility_code=>1, :syslog_facility=>"user-level", :syslog_severity=>"notice", :app_timestamp=>"16-02-07 19:42:11", :app_host=>"app1-api1", :app_severity=>"INFO", :app_request_state=>"Finished", :app_verb=>"post", :app_path=>"/api", :app_source=>"xxx.xxx.xxx.xxx", :app_request_time=>83, :app_status_code=>200}, :level=>:info}

Oh. I see what it is. Look at the logic flow in build_riemann_formatted_event.
def build_riemann_formatted_event(event)
    # Let's build us an event, shall we?
    r_event = Hash.new
    r_event[:host] = event.sprintf(@sender)
    # riemann doesn't handle floats so we reduce the precision here
    r_event[:time] =<EMAIL_ADDRESS>    r_event[:description] = event["message"]
    if @riemann_event
      @riemann_event.each do |key, val|
        if ["ttl","metric"].include?(key)
          r_event[key.to_sym] = event.sprintf(val).to_f
        else
          r_event[key.to_sym] = event.sprintf(val)
        end
      end
    end
    if @map_fields == true
      r_event.merge! map_fields(nil, event.to_hash)
    end
    r_event[:tags] = event["tags"] if event["tags"].is_a?(Array)

    return r_event
  end

We set the r_event[:host] in https://github.com/logstash-plugins/logstash-output-riemann/blob/master/lib/logstash/outputs/riemann.rb#L136

If map_fields is enabled then it then maps all fields barring those starting with @ in https://github.com/logstash-plugins/logstash-output-riemann/blob/master/lib/logstash/outputs/riemann.rb#L150.

Since host is a field in the event the mapping will override the previous setting.

Thanks! When will a new build be pushed?

adding a few tests. 10 minutes i think
On Sun, Feb 7, 2016 at 10:07 PM James Turnbull<EMAIL_ADDRESS>wrote:

Thanks! When will a new build be pushed?
—
Reply to this email directly or view it on GitHub
https://github.com/logstash-plugins/logstash-output-riemann/issues/13#issuecomment-181098362
.

Awesome! Thank you! Perfect timing for me to go to the pub. :)


Proposal: Type Checked Links

Links form the backbone of hypertext documents and nothing is more annoying than dead links, especially those trying to point to other parts of a web application. That's why I propose type checked links.
Type Checked Links
Type checked links allow creating links to individual actions in controllers by their name in a type checked manner. They also allows passing parameters to those actions. This makes possible refactoring paths of the controllers and actions without needing to worry about broken links as links are automatically created by the proposed function. Changing the internal name of an action is also safe as type checked links enforce that the action really exists on the controller and raises a build time error otherwise.
Proposed function
I propose a function with the following signature to be added to the library:
function addressOf<Controller>(controller: new(...args: any[]) => Controller, action: keyof Controller, params: object = {})

The implementation of this function can be as simple as:

Find the path of the action
Substitute params to the path
This can be done using path-to-regexp.

Examples
Here is a small example of using the proposed function.
@Controller("/user")
class UserController {
	@Get("/")
	public userList() {
		const users = [ /* ... */ ];
		const result = new Array<string>();

		for (const user of users) {
			const userAddress = addressOf(UserController, "showUser", { id: user.id });
			result.push(`<a href="${htmlspecialchars(userAddress)}>${user.name}</a>"`);
		}

		return result.join("
");
	}

	@Get("/:id(\\d+)")
	public showUser() {
		const userListAddress = addressOf(UserController, "index");
		return `<a href="${htmlspecialchars(userListAddress)}>Back to user list</a>"`;
	}
}

Personally I almost never use html and I don't need this feature, however for people who use it this may be useful function. What do you think guys @19majkel94 @NoNameProvided

We have nearly no features (only render) for server side, classic apps. I don't think that in React&Angular time many people create server apps, only RestAPI/GraphQL/Websocket matters.

Our "competitors" are different they are using angular2, etc. and more like a full stack framework. If me and you don't do server-side rendered apps it does not mean other people dont do it. I know lot of people hard core fans of server side rendered apps (but I dont understand them TBH 😆 ) and they may not need nextjs but may need something like routing-controllers. I don't think we should strip out such people, otherwise we probably must remove "render" functionality and declare genocide to server side rendered apps :no_good_man:
As I told I almost never use html on server side. Those almost cases are for example when you generate a email with html inside, and lets say if you give a link to controller which returns pdf in this email this feature will be useful.

const userListAddress = addressOf(UserController, "index");

You use index as string so you loose your type the same way. However it can be achieved with the keyof  TypeScript operator but then you would not be able to define functions or properties other than your route handlers in your class what is a no-go for me.
Also this maybe looks useful in this small example, but in real life we use rendering engines, and there is no way to pass custom stuff in there most of the cases. And even in the few like Handlebars as soon as you start to use a helper function you will loose your typings again, because templates are strings.
So in this form this don't add value or will work so I have to 👎

@NoNameProvided I did not understand any of your argument TBH.

you would not be able to define functions or properties other than your route handlers in your class what is a no-go for me.

but what else you would like to define?

there is no way to pass custom stuff in there most of the cases

what do you call custom stuff here and pass where?
@henkkuli if you want this feature you'll need to provide a PR btw.

you would not be able to define functions or properties other than your route handlers in your class what is a no-go for me.

The whole idea is to bring type check to url generation.
Lets say we have a route handler like this:
@JsonController()
class TestController {
  @Get('/test')
   public getTest() {
     return 'yay';
  }
}

To generate an url for this route with the proposed changes we have to do something like
addressOf(TestController, "getTest");

The problem is that getTest is passed as a string so we loose typecheck, and the whole idea of the proposed change is to bring typecheck to generate links.
We can work around this with having a signature like
function addressOf<T>(controller: T, handler: keyof T);

But when we do this we would be not allowed to have anything on our controllers than route-handlers. So with the above example if I try to call
addressOf(TestController, "postTest");

it will fail and tells me TestController doesn't have a property called postTest.
But what about
@JsonController()
class TestController {
   constructor(
     public myService: MyService
  ) { }

  @Get('/test')
   public getTest() {
     return 'yay';
  }
}

Now suddenly both getTest, and myService is a key, however getTest is the only valid one.  So again we lost the typing information we aimed to achieve.
So I dont see how this would work.

there is no way to pass custom stuff in there most of the cases

I means nobody send response like
return ```
  blabla....
  Link

But we are using template renders like return pug.render(pathToMyTemplate, locals) and it's not trivial how to put the links in there. For sure we can pass them in the locals variable I would say it would be hard to work with it.

As we have static routing, we can build the routing tree associated with the controller's classes and attach it to locals, so in rendering engine we could do routes.TestController.postTest which would be a path string to selected action 😉

@NoNameProvided worth noting that keyof type assertions fail for any non-public methods/properties of the object. If, in your example, myService was marked private then addressOf(TestController, "myService") would fail to compile.

We can work around this with having a signature like
function addressOf(controller: T, handler: keyof T);

its not a "work-around", its absolutely correct solution. If there is a solution, there is no problem.

Now suddenly both getTest, and myService is a key, however getTest is the only valid one. So again we lost the typing information we aimed to achieve.

if he sends "myService" as a key its not a problem to check if controller action with such name is registered and throw an exception. Its better then nothing for sure, because point of this not only in complete type-safety but also in usage convenience and refactoring issues.

I means nobody send response like

I know people who have only few places where they need server side rendering and they don't use template engines because its overhead for them. And even if they use template engines, they support creating a custom filters, so using "x.addressOf("TestController", "postTest")" may become absolutely possible. Besides it, this feature is useful not only for templates but also for such generic
Again, Im not a fan of server-side rendering, but I know loot of people who are. And I would like to support server side rendering in routing-controllers as much as possible to satisfy their needs as well.
I don't have a time to implement this feature right now, but if someone from community or even OP can do it - feel free to implement this feature.


Migrated to Null Safety

Migrated to null safety
Migrated to Android Embedding v2

@droibit would you be willing to review and merge this PR? it'd be great to get a null-saftey release for this package 🙏🏻

I am waiting for a review for the last 20-30 days.  Looks like the package is dead. I might create a new package using this code that will be maintained regularly. However, you can use the code as a local package in your app. That is what I am doing.

@ItsAnubhav
Thank you for sending me a great PR.
Also, I am very sorry for a late reply🙇♂
Since I've been away from Flutter development for a while,
I'm going to release next version of this plugin after cleaning it up.
Thank you again.


Posts are included in the projects section

I don't understand why this is happening, the hosted version of the website doesn't have this issue but in dev mode I keep getting posts included with projects. Same bug when I produce a production build.
Currently, the only solution I found is to completely delete the posts files.

Edit: It seems that everything is being included in the projects query, the regex filter isn't working apparently.

Apparently this is a bug with gatsby https://github.com/gatsbyjs/gatsby/issues/7463

I found a workaround, I just moved the project to a path that doesn't have the word projects in it.
Now it only detects the projects folder inside the project.
One other workaround would be to be more specific in the projects fileAbsolutePath regex:
     projects: allMarkdownRemark(         filter: {           fileAbsolutePath: { regex: "/content/projects/" }           frontmatter: { showInProjects: { ne: false } }         }
Instead of
     projects: allMarkdownRemark(         filter: {           fileAbsolutePath: { regex: "/projects/" }           frontmatter: { showInProjects: { ne: false } }         }


Float Precision doesn't load correctly sometimes

I added float precision to show 1 decimal place in the header tags. I noticed that (mostly on initial load) sometimes one of the headers will not load the decimal place. then when i go into the lovelace UI and click save then exit back out...it's there.

Please share your config and a screenshot. Thanks


Add double quotes around static asset etag value

Thanks for the contribution. It looks like codahale fixed this in the dropwizard version back in May 2013 and we have it working properly for FileSystemAssets. Oops!
I've ported this to the new repo: dropwizard-bundles/dropwizard-configurable-assets-bundle#8
I'll release a v0.8.0-1 later today/this weekend.


Turn on slack-plugin Logging?

I installed your plugin and it seems to do nothing.  There are no logs generated on my jenkins box.  Is there a way to turn on logging for this plugin, so I can debug the problem?

I am also having the same problem. As noted above as well the link to the plugin, from the manage plugins page also doesn't work.
Jenkins version 1.598

If you go to the integrations page on slack they outline all of the steps for setting the plugin up in Jenkins.

I went though the guide again and solved my issue. I had to state the slack channel in the project config. I thought it would just use the default one I had set on Slack.com or in jenkins configuration settings.

It does use the global configuration if there's none stated for the project.  I've at least witnessed that testing with 1.7-SNAPSHOT version. I've not used the stable version yet.  I'll be doing a release maybe later this week or by the weekend.  Depends on my time and ability to figure out Jenkins releases (which are well documented I believe).

The next release will have better logging.  Since this is an old issue I'm going to close it.  Feel free to open a new issue after testing the next release if you feel your issue isn't resolved.
I do not actively develop this plugin.  I will be maintaining pull requests and releases from now on.  Contributions are welcome if you implement this missing feature!


Implement error handling strategy or architecture

Define ways in which errors from graphql will be caught and processed
Determine how to handle different types of errors (higher level errors, page- or field-level errors
Establish conventions for error messages and user feedback

We can establish what we need the backend server to return. For example, other than the status code, what do we need in the returned error object. For field-level errors, should the backend return an array of objects with each object containing the field name and error message?

For forms, I think if the backend can return something like the following object in the response:
    const errorResponse = [
      {"error": "isBlank", "path": ["username"]},
      {"error": "isBlank", "path": ["password"]}
    ];

then the front-end can use the useState hook to manage the formErrors like this:
import React, { useState } from 'react';

const MyForm = () => {
  const [formData, setFormData] = useState({
    username: '',
    password: ''
  });
  const [formErrors, setFormErrors] = useState({});

  const handleSubmit = async (e) => {
    e.preventDefault();

    // Simulate backend response
    const errorResponse = [
      {"error": "isBlank", "path": ["username"]},
      {"error": "isBlank", "path": ["password"]}
    ];

    const errors = {};
    errorResponse.forEach((err) => {
      const fieldName = err.path[0];
      errors[fieldName] = err.error;
    });

    setFormErrors(errors);
  };

  return (
    <form onSubmit={handleSubmit}>

        Username:
        <input
          type="text"
          value={formData.username}
          onChange={(e) => setFormData({ ...formData, username: e.target.value })}
        />
        {formErrors.username && {formErrors.username}}

        Password:
        <input
          type="password"
          value={formData.password}
          onChange={(e) => setFormData({ ...formData, password: e.target.value })}
        />
        {formErrors.password && {formErrors.password}}

      <button type="submit">Submit</button>
    </form>
  );
};

export default MyForm;

I've added documentation on form field validations, adding a shared error handler for handling different error types and using Flash Messages, especially for redirects.
I will close out this ticket for now, and the above can be implemented once the backend is able to complete this ticket: https://github.com/CDLUC3/dmsp_backend_prototype/issues/68


Update docs on Emerg. Alerts Fastly automation token.

We only provide them one token now, because it's not a very privileged token. Having separate tokens per environment was no better for security and definitely worse for maintainability.
Remove extraneous detail. The details are already in the linked playbook on changing the token.
In the playbook, mention an acceptable way to transfer the token after generating it.
Use the same Markdown heading syntax as the rest of devdocs.

(Just simplified the wording slightly on the new playbook step.)


[Bug]: Wearing Hang Gilder and Invisibility Cloak （Aether） cause crash

Mod Loader (Required)
Forge
Minecraft Version(s) (Required)
1.19.2
Mod Version(s) (Required)
4.0.0
Minimal Setup (Required)
No
Notes (Required)
Anyone see the player will crash.
latest.log (Required)
https://gist.github.com/HySand/496f3f40fe8652e8c88f44ec88b92dc8

Please upload the crash report.

Please upload the crash report.

crash-report


install xargo from git temporarily

This is so that once https://github.com/japaric/xargo/pull/246 landed, we can see if that helps with https://github.com/rust-lang/rust/pull/63162.

@bors r+

:pushpin: Commit 162c0ffb1fc6547557f94fa0c9b316e4a785bd8a has been approved by RalfJung

:hourglass: Testing commit 162c0ffb1fc6547557f94fa0c9b316e4a785bd8a with merge 843691d6122e49dc7bd17a45d74a1d8a2fbb815b...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing 843691d6122e49dc7bd17a45d74a1d8a2fbb815b to master...


Searching by FHIR Resource extension

How can I search for extension values in FHIR Resource entries? I have registered SearchParameter based on patient-extensions-Patient-mothersMaidenName example from https://www.hl7.org/fhir. I assume that should show under FHIR Conformance which is not happening. I am trying to search through code(mothersMaidenName) or/and URL but it is resulting in getting all Patients (probably parameter is getting ignored).

For number one, we currently don't support search on extensions, but it is on our roadmap.
"Another weird thing, I am seeing is if my parameter names while doing the search is not correct it is getting all the Resource items."
This is by design in FHIR spec. See https://hl7.org/fhir/2018May/search.html
Unknown and unsupported parameters
Servers may receive parameters from the client that they do not recognize, or may receive parameters they recognize but do not support (either in general, or for a specific search). In general, servers SHOULD ignore unknown or unsupported parameters for the following reasons:
Various HTTP stacks and proxies may add parameters that aren't under the control of the client
The client can determine what parameters the server used by examining the self link in the return (see below)
Clients can specify how the server should behave, by using the prefer header
Prefer: handling=strict: Client requests that the server return an error for any unknown or unsupported parameter
Prefer: handling=lenient: Client requests that the server ignore any unknown or unsupported parameter
Servers SHOULD honor the client's request, but are not required to do so.

Was the support for searching by resource extension added or still in your roadmap?

You can add search parameters yourself on open source by modifying the search-parameters.json file (e.g. for R4 https://github.com/microsoft/fhir-server/blob/master/src/Microsoft.Health.Fhir.R4.Core/Features/Definition/search-parameters.json). The search parameters should be added before any new data is ingested and then they should get extracted. We are working on a better way to configure this and to do re-indexing if they are added after data has been ingested.


Adding FPSynchronizedArray and FPSynchronizedDictionary classes

[FP] Update FoundationExtensions with adding FPSynchronizedArray and FPSynchronizedDictionary classes to support thread-safe array and dictionary for data access in multi-thread.

LGTM 👍
@hungnguyenpersonifyinc merge?


Improve image lists generation performance

Currently, image lists queries are run one by one, not in parallel. This is to avoid triggering ImageKit.io rate limits.
If rate limit was reached, script would raise an error and stop. To properly handle that, some code should be added to wait the specified time until trying again. More info in docs mentioned above

Moved to https://github.com/davidlj95/chrislb/discussions/323


DataDownload/Upload doesn't show description

root cause: type struct does not have description comment
https://github.com/vmware-tanzu/velero/blob/11745809c444123c4d5f0394824140e0961587fe/pkg/apis/velero/v2alpha1/data_download_types.go#L134

Upstream Fix PR: https://github.com/vmware-tanzu/velero/pull/7028

cherrypicks before we close :)

Print screen from 1.3 from marketplace. Can this issue be closed?


Feature/py3 logging (#327)

added the first test for logging

fixed the unit test after merging the bug fixing PR for the logging

initialize the logging service client globally

initalized gcp_stackdriver_logger in advance and set it as a parameter in the GCPLoggingHandler [ci skip]

removed the line for setting the logging level to INFO [ci skip]

added the header for curation_gae_handler [ci skip]

refactored the unit test gcP_stackdriver_logger_test.pyt

removed the space character in the gcp_logging link in the header comment; added a comment to the assertEqual to explain why _buffer_size is 0

fixed the header comment

Codacy status is fine ^ https://app.codacy.com/manual/pmi-ops-org/curation/pullRequest?prid=4685671

Circle didn't trigger in this case. I am letting this run on Circle by pulling your branch then pushing it up myself. Will merge once that shows green: https://circleci.com/gh/calbach/curation/11

Looks good, merging.


Connected sites settings

https://github.com/penumbra-zone/web/assets/134443988/a2eff8d4-3cfd-449f-b901-f40ad4a00e4c
#73

This looks cool! What does the crossed out URL mean?

This looks cool! What does the crossed out URL mean?

that's an 'ignored' site, which we've denied connection to

Got it. I guess that can't appear without the user having pressed decline, so they can infer the meaning better than I did.

strange diff was due to target branch rebase, it's now merging to main


QueryLoader closing previous result even if it's the same result

Here are two methods of QueryLoader:
@Override
protected void onStartLoading() {
    if (result != null) {
        deliverResult(result);
    } else {
        forceLoad();
    }
}

@Override
public void deliverResult(Result<E> data) {
    if (isReset()) {
        if (result != null) {
            result.close();
        }
        return;
    }
    Result<E> previous = result;
    result = data;
    if (isStarted()) {
        super.deliverResult(result);
    }
    if (previous != null) {
        previous.close();
    }
}

As it is a Loader, it tries to use the previous results if available (onStartLoading()'s deliverResult(result);). This is cool, but the problem is that deliverResult(...) does not check whether the previous result is the same as the new one, and closes it anyway. This results in IllegalStateException when trying to use the same result again as it has been closed.
There's a quick fix for the problem in deliverResult(...), instead of
if (previous != null) {
    previous.close();
}

it should check whether the previous and current results are different objects:
if (previous != null && previous != data) {
    previous.close();
}

Thanks for the detailed bug report, yes that looks like the correct fix will update thanks


collisionInfo types question

I may be wrong about the types, though could we replace collisionInfo: any with collisionInfo: IBasePhysicsCollisionEvent?
Line 2313
Line 2341
May need to use IPhysicsCollisionEvent for this case and the one below
Line 2363

cc @CedricGuillemet


Add upgrade behind Timelock of four weeks

This can either be done by:

changing the HAts timelockcontroller
add a new timelockcontroller (and a new role)
implement the logic in the hatvaults.sol

So in terms of extra code changes I think a new role and new tome lock controller is the simplest solution which requires the least changes. The second simplest solution would be to edit the hats timelockcontroller to have some internal extra timelock on this. About implementing on the hats vaults it's a bit problematic since the hats vaults itself is not aware of the proxy contract, it is the implementation contract...

Closing as we remove upgradeability


Installing Reason messes with currently installed OCaml

The installation procedure described as the NPM one in the manual tells users to install reason using the following command:
$ npm install -g https://github.com/reasonml/reason-cli/archive/3.0.0-bin-darwin.tar.gz

What it doesn't tell is that it will install OCaml and friends using symlinks that might shadow your current intallation as show in the following capture from the installation procedure:
/usr/local/bin/ocamlmerlin -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlmerlin
/usr/local/bin/ocamlmerlin-reason -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlmerlin-reason
/usr/local/bin/ocamlrun -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlrun
/usr/local/bin/ocamlc.opt -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlc.opt
/usr/local/bin/ocamlc -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlc
/usr/local/bin/ocamlopt.opt -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlopt.opt
/usr/local/bin/rtop -> /usr/local/lib/node_modules/reason-cli/.bin/rtop
/usr/local/bin/ocamlopt -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlopt
/usr/local/bin/ocaml -> /usr/local/lib/node_modules/reason-cli/.bin/ocaml
/usr/local/bin/refmttype -> /usr/local/lib/node_modules/reason-cli/.bin/refmttype
/usr/local/bin/reopt -> /usr/local/lib/node_modules/reason-cli/.bin/reopt
/usr/local/bin/rebuild -> /usr/local/lib/node_modules/reason-cli/.bin/rebuild
/usr/local/bin/reactjs_jsx_ppx -> /usr/local/lib/node_modules/reason-cli/.bin/reactjs_jsx_ppx
/usr/local/bin/reactjs_jsx_ppx_2 -> /usr/local/lib/node_modules/reason-cli/.bin/reactjs_jsx_ppx_2
/usr/local/bin/menhir -> /usr/local/lib/node_modules/reason-cli/.bin/menhir
/usr/local/bin/ocamlfind -> /usr/local/lib/node_modules/reason-cli/.bin/ocamlfind
/usr/local/bin/reason-cli-esy-sandbox -> /usr/local/lib/node_modules/reason-cli/.bin/reason-cli-esy-sandbox
/usr/local/bin/utop -> /usr/local/lib/node_modules/reason-cli/.bin/utop
/usr/local/bin/refmt -> /usr/local/lib/node_modules/reason-cli/.bin/refmt

As someone who already has most of the OCaml tools installed using different versions than the one supplied by the ReasonML installation, you can imagine how this wrecked my system.
ReasonML can install any tool it likes but should restrict global links to its own tools. I am trying to install ReasonML and not shadow my current OCaml installation.

@soapdog That's a good point.
In this case it didn't ruin your existing system, but it shadowed your existing system, correct? So if you uninstall reason-cli, will it restore it back to its original state (I seriously hope so).
Which binaries would you expect it to install? We want to include at least merlin, refmt, rtop, and utop - but what if you had those already available in your system?

@jordwalke actually I had to unravel the installation by hand because the post-install.sh script exploded so no only Reason shadowed my OCaml (and friendly utilities) but it wasn't installed sucessful, so I couldn't use NPM to uninstall it. I had to go and remove each symlink by hand.
I am lucky because my OCaml was elsewhere symlinked there. If the actual files were there, then Reason install would have overwritten them.
I believe this is an oversight in the installation. Some of us enjoy using JS & OCaml and have both toolsets installed. Ideally, Reason would install its needed tools to its own folder.
Installing refmt  and rtop is an awesome idea but I already have merlin and utop. I am on a different OCaml switch, I am using 4.05 and I believe ReasonML requires some pretty specific version to work, right? If there are no hard version requirements for merlin and utop, then the installation could just check if they are already present in path.

The install should never explode. That is a different issue btw. Do you happen to have a record of what went wrong in the install? (An error log etc?) Whatever we shadow would be trivially removable (by uninstalling the package), and if that's not the case that is a separate bug.
Which binaries to shadow  is a different question, and I'm open to not including ocamlopt etc. I included many of these because some people requested them. @bsansouci
reason-cli should, however give you everything you need to develop like ocamlmerlin, so that might still present problems for you? In that case, I think we need to find a way for people to use exactly one package manager to install things globally. Two competing package managers on one host each competing for global namespace is never going to end well. You mentioned you use opam, which is cool. I think we need a workflow that allows people to not have to mix package managers in the first place. If it's not this problem you discovered, it will be some other problem.

I will try to get you a recipe. I am using OpenSuse Tumbleweed (which is their rolling release version). I installed OCaml using opam, so most of my stuff was safe in my home folder. One of the issues was that in my $PATH definition, /usr/local/bin appeared earlier than my .opam folder, so when the Reason installation broke leaving dangling symlinks, I couldn't call my OCaml stuff so my own builds for unrelated programs started breaking. It took me a while to realize what was happening.
Later tonight, I will power that machine back and try to figure out what went wrong with the installation script. I know it failed in a post-install.sh script, so it was not some JS code from NPM failing. One way to fail is to execute the NPM global install not having the correct permissions to write to global folders, this will explode and leave dangling symlinks.

Npm is known to fail with -g when not using sudo, but I've never seen it leave dangling binary links in that case.
BTW: This guide is great for npm.
https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md
I recommend every npm user do this. That prevents npm from installing binary links in /usr/local/bin and it also lets you decide the priority of shadowing between npm and opam (whichever comes later in your bashrc wins).

I'm gonna close this one out since reason-cli stopped being maintained and shouldn't be recommended anymore.


Clean up root

Proposed changes
This PR introduces a pull request template and cleans up the root directory.
Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

Labels

enhancement
hacktoberfest

Further comments

@rosborne132, pull request template is a nice idea, but I didn't get what you mean by Clean up root.

@Pika1998 This PR is to clean up some of the files in the root directory. This was a simple task to learn more about the project while providing some value. :)

@rosborne132  i did revert the changes regarding node_modules, please review it and let me know if we are good to go :)

@Pika1998 I might just open another PR and close this one just to remove any changes to the node_modules. :(

Hey @rosborne132 , I don't think that's necessary, all we have to do is we have to actually track node_modules (because that is required for github actions, unlike other projects)
So we don't want to ignore it, all we have to do is just remove it from . gitignore and add them all.
Don't worry I'll do that, thank you for this PR😁

@all-contributors please add @rosborne132  for code doc


define proper parent error type for YamuxError

All errors raised by nim-libp2p should descend from LPError. YamuxError was not correctly classified. Proposing it to be a specialized MuxerError, in line with mplex and muxer errors.

@etan-status Could you please explain what LPError means and why errors should descend from it?

LPError is the root object of libp2p's error hierarchy - this has always been it's original intent.

Thanks, I meant literally, what does the name mean?

Thanks, I meant literally, what does the name mean?

Oh, heh - the LP prefix was chosen as a shorthand for libp2p, otherwise we'd be writing something like Libp2pError all over the place :)

I see, maybe P2PError would be more descriptive?

I see, maybe P2PError would be more descriptive?

well, imo p2p is quite generic and LP is a well established convention in nim libp2p, I personally don't see a need to change it, but I'm also don't feel very strongly about it.

It never crossed my mind that LP means libp2p. I believe a comment or docs would be beneficial.

@etan-status Could you please explain what LPError means and why errors should descend from it?

It's a followup from #582. LPError is the root of all nim-libp2p originated errors. That convention is mostly followed, with very few individual exceptions that are being addressed. Rationale is so that {.async: (raises).} can be restricted to the parent for the outermost layer.


Add PrintingMergeRequestLinkEnabled field to GET/PUT

Currently, the field seems to be only used on "Create" but as the
documentation shows, GET/PUT methods also have it supported.
More info:

https://docs.gitlab.com/ee/api/projects.html
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76938
https://github.com/gitlabhq/terraform-provider-gitlab/issues/782
https://github.com/gitlabhq/terraform-provider-gitlab/pull/783

Thanks for merging @svanharmelen. Is there any ETA on a new release with these changes? Just so that we can move things forward on gitlabhq/terraform-provider-gitlab#783


sending emails does not work

Hello,
first of all: great work! the setup works quite well! However sending emails does not really work. Even after setting up sendmail, which works from the command line (both, in nginx as well as app container) magento does not send any emails. I installed ssmtp to send all emails via an external smtp server, still it doesn't work. I am running out of ideas what to try next. Any ideas? I wonder why sendmail works in the container and properly delivers emails but magento won't...
thanks
Peter

Email should be configured to send through an external SMTP provider or another cloud-based email service provider such as Mailgun. Sendmail really isn't a scalable option to use within Docker.


Cached content doesn't seem cleared automatically.

Hi,
I'm just learning PhantomFlow and trying the sample. I added more flows but when I run the test again using the following command the new flow is not picked.
node test/test.js report
I also deleted one of the flow file from test/flows but when I run the command again, I'm seeing the old two flows like below.

is there any way to force refreshing?
Thanks,
Bruk

Hi @jamescryer
I'm still have this issue and wondering is PhantomFlow active? Do you recommend to depend on for a brand new project?
Thanks
Bruk

Sorry for the late reply, I review these projects fortnightly.
There is no auto-refresh, though that would be good feature.  The script simply opens a new browser window, you'll have to close the old browser window/tab.
I'm not likely to fix this in the near-term but I'll mark the ticket as a feature request and keep it open in case anyone would like to create a Pull Request for the change.
Thanks.


SlimeVR-Server does not run on Arch Linux with Wayland and nvidia-open drivers

Issue:
The server application does not run properly and either closes instantly or displays a blank window.
Steps to reproduce:
With Wayland:

install the AUR slimevr-beta-bin
run slimevr
Error 71 (Protocol error) dispatching to Wayland display.
program closes

Bypassing Wayland:

run WAYLAND_DISPLAY=0 slimevr
ERROR [slimevr] Java server receiver died
Failed to create GBM buffer of size 1289x709: Invalid argument
attempts to reconnect to webview but never recovers.

OS and hardware:
Arch Linux x86_64 running KDE Plasma 6.2.4 with Wayland.
Ryzen 7 5800X and GeForce RTX 3080 with nvidia-open drivers.

Failed to create GBM is easy to solve, just try one of the following https://github.com/tauri-apps/tauri/issues/9394

aside from that, this is an upstream issue

Adding WEBKIT_DISABLE_DMABUF_RENDERER=1 got it running! Thank you!


stuck on Starting the WebSocket server on port 6001... after running php artisan websockets:serve

Hi ,
Thanks for this package but I'm having issues with it.
Locally it works fine , but on production server just keeps stuck on "Starting the WebSocket server on port 6001..." I visit /laravel-websockets and can't connect .
I'm running on a CentOS Linux 7 .
The strange thing is if I don't start the server it gives me error when i fire an event  . When i run php artisan websockets:serve and keeps stuck  firing an doesn't give me an error but doesn't do anything .
In /laravel-websockets listening to ws in chrome network tab it gives me the message "
WebSocket is closed before the connection is established.
How can I debug this problem ?

Port 6001 and others were blocked , asked server support and they opened . It works now !


fix: escaped slash in namespaced packages

in order to fix the escaped slash and make it more like the response from npm registry i removed the encodeScopedUri function which replaces in scoped url the / with %2f making in compatible with the response from npm
close https://github.com/verdaccio/verdaccio/issues/1778 https://github.com/verdaccio/verdaccio/issues/1777

could you add a changeset https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#adding-a-changeset ?

One more thing, this won't be available on Verdaccio 5 after merge this, if you want to also be avilable there, then you would need a new PR over 5.x branch.

Welcome to verdaccio world @amitgilad3 🚀

thanks!!!!! @juanpicado ,  i hope to contribute as much as possible to this amazing product!!!

@juanpicado Has this been merged in v5?

Nop, only master by far (for v5 should be on 5.x)


Add the base class to create records

Codecov Report
Attention: Patch coverage is 0% with 58 lines in your changes missing coverage. Please review.

Project coverage is 64.63%.

Files
Patch %
Lines

src/astrotech/record/base.py
0.00%
58 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##              main      #14       +/-   ##
============================================
- Coverage   100.00%   64.63%   -35.37%
============================================
  Files            7        8        +1
  Lines          106      164       +58
  Branches        15       29       +14
============================================
  Hits           106      106
- Misses           0       58       +58

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


pull request for e2e test at 02/06/2017 03:56:10

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add RDP (readout protection) support for STM32L4x flash

Add support for Flash readout protection on the STM32L4x series

I agree that samples and tests are missing (as for the existing code).

Tests are available in tests/drivers/flash/stm32/src/main.c

@semihalf-duda-patryk @erwango friendly reminder

@de-nordic friendly poke - with your approval the PR can be merged ...

@erwango friendly poke: can you merge this PR?

@erwango friendly poke: can you merge this PR?

No. We're in feature freeze for V3.5.0 stabilisation period. It will have to wait until merge window is open again.
See https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management

@erwango full ack, sorry for the noise


load_key_certs_crls(): There is no quiet argument

This fixes broken cherry-pick from the master branch where there is a quiet argument.
This is again urgent as 3.1 and 3.0 CI is still broken.

Agree urgent

Agree urgent

Merged to the 3.1 and 3.0 branches. Thank you for the reviews.


Serve Slack Button by HTTP

WIP
Feature to serve SlackButton by HTTP

Current coverage is 78.88% (diff: 70.00%)

Merging #1 into master will decrease coverage by 3.05%

@@             master         #1   diff @@
==========================================
  Files             1          2     +1
  Lines            72         90    +18
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits             59         71    +12
- Misses            9         15     +6
  Partials          4          4

Powered by Codecov. Last update 3ac4004...2e78e82

proposed changes are ready, and tests are passing :)


set version of "should" to 3.x to fix unit tests

using version 4.x of should and later cause unit tests to break.

See https://github.com/shouldjs/should.js/wiki/Breaking-changes-4.x

Thanks! I'll have to update the tests soon.


Make the APIs in name_utils more robust

This PR refactors OpName() and DatasetDebugString in name_utils to make them more robust and consistent.
cc: @jsimsa

@jsimsa Thanks for the quick review! The comments are addressed by this commit (https://github.com/tensorflow/tensorflow/pull/30013/commits/b527427b6ff269f58c9ec28f7c38c920bc7fc5ad). Could you please have a look at the changes?

@jsimsa Thanks for your time! 'set_args()' is added in this commit(https://github.com/tensorflow/tensorflow/pull/30013/commits/01bffaa05e5249ee134a5b8fb76c3f54cd8cc17b). Could you please take a look when you have a chance?

@rthadur An error happened while migrating the change for the internal test. Could you please help re-trigger the internal tests? Thanks!

@jsimsa The internal checks failed. Could you please help paste the log details here?

third_party/tensorflow/core/kernels/data/padded_batch_dataset_op.cc:60:9: error: field 'input_' will be initialized after field 'op_version_' [-Werror,-Wreorder]

Thanks @jsimsa! The declaration order of member variables are changed to match the initialization order. Please have another look (https://github.com/tensorflow/tensorflow/pull/30013/commits/1517c2d4994fb8d82713860b3e5c29f323025c8b)!

@jsimsa Sorry that the internal checks failed again. Could you please help check the logs?

Internal failures seem unrelated. I will help getting the internal CL merged.

Internal failures seem unrelated. I will help getting the internal CL merged.

Once this gets merged, I will update this one (https://github.com/tensorflow/tensorflow/pull/29901).


ctrl+shift+g layout issue

I can't find what this is keymapped to but the text field is partially hidden when you hit ctrl+shift+g keys on Win 8.1 ST3 3083

@atsea take a look on this issue https://github.com/dempfi/Neka-Theme/issues/1


Text colour changing to "@color/color_old_day_text_color"

When using intent.isBooking and intent.setBookingDateArray all the date color changes to "@color/color_old_day_text_color".

Thank you for your feedback.

fix #10


how to get the shopify store url after the installation of the app

How to get the url entered here when the app installation is complete?

thanks @ @

Please review our wiki under Usage.


Noel/libp2p entrypoint

Implement Barebones of: https://github.com/Glow-Lang/glow/issues/106.
Run buy_sig over libp2p
To run the buy_sig interaction over libp2p, in one terminal run:
a_addr=/ip/<IP_ADDRESS>/tcp/10333
./glow start-interaction -O $a_addr -E pet -C libp2p -W

You will be prompted:
Starting libp2p client
I am /ip4/<IP_ADDRESS>/tcp/10333/ipfs/<PeerId>
...

Copy that into dest in the second terminal, and run:
b_addr=/ip/<IP_ADDRESS>/tcp/10300
dest=/ip4/<IP_ADDRESS>/tcp/10333/ipfs/<PeerId>
./glow start-interaction -O $b_addr -C libp2p -E pet -D $dest --database alice

Select the relevant options to run the buy_sig interaction.
Run the buy_sig over libp2p test case locally
./unit-tests.ss test t/buy-sig-libp2p-local-integration-test.ss

Progress

[x] Use user-supplied keypair to derive peerid.

[x] Supply user keypair to daemon via gerbil-libp2p.

[x] Figure out where to pass this option to go-libp2p-daemon via gerbil-libp2p.
See: https://github.com/Glow-Lang/glow/pull/398#issuecomment-937089447
[x] Extract privatekey using methods from gerbil-ethereum/known-addresses.ss.
[x] Convert privatekey into protobuf format.
[x] Store protobuf into file.
[x] Pass filename to libp2p daemon using options: ["-id" filename].

[x] Backend support and CLI to ensure the go-libp2p-daemon and/or JS library is started with the correct parameters (toggling libp2p, keypairs).

[x] Update CLI start-interaction entrypoint to take in an option, which toggles off-chain communication between stdout and libp2p.
[x] Q: Should the off-chain channel be part of the agreement?
A: No, it is determined before the agreement itself,
Since it specifies the channel through which the agreement is sent.
[x] Store this into runtime object.
[x] Add a wait-for-agreement flag, which waits for other party to supply interaction agreement.
[x] Initialize libp2p-client

[x] Backend support and CLI to send and receive handshakes and agreements.

[x] Parameterize outgoing message handlers over channel.
[x] Parameterize incoming message handlers over channel.
[x] Stub handlers for outgoing messages over libp2p
[x] Stub handlers for incoming messages over libp2p
[x] Listen for handshake / agreements

[x] Persist listening thread
[x] store things in a buffer

[x] store, push for buffer.

[x] store this message buffer in channel object

[x] Implement outgoing message over libp2p
[x] Implement incoming message over libp2p

Polishes
Priority

[x] Purge keypair file once client has been initialized.
- [] Randomly generate keypair file.
[x] Review and cleanup code (FIXMEs, TODOs, repeated parts).
[x] If alice starts first, poll until bob comes online.
[x] Cleanup output
[x] Documentation
[x] Write integration test (buy_sig).

How to initialize libp2p daemon with participant keypairs
See https://github.com/libp2p/go-libp2p-daemon for installing p2pd, p2p-keygen.
Use the -id flag to configure private-key when starting daemon:
p2pd -id <private_key_file>

Use the following command to generate sample private keys:
p2p-keygen -f <private_key_file

I was having issues running this initially, however it worked when I did
a_addr=/ip4/<IP_ADDRESS>/tcp/10333
and
b_addr=/ip4/<IP_ADDRESS>/tcp/10300
I think something having to do with /ip not being a protocol


String Inter

Does this support string interpolation or code block style string like Hello {Player.Name}. Thanks!

I am not sure what you meant about that.


Update to version 1.0.53 of the Vulkan Header

updated vulkan.h
updated reg.py
updated vk.xml
updated vk_validation_error_database.txt
updated vk_validation_error_messages.h
updated vuid_mapping.py
updated vulkan.hpp
fixed error database vuid parser issue
updated error DB with new VUIDS

Hi @mark-lunarg I was out on vacation but this update looks good. Were there any issues with the process? I see you had to add a dozen or so new mappings. Is that painful or simple?

@tobine, it was straightforward.  There are some areas for improvement, but everything went smoothly.  Thanks for asking!


Double free on unset clever_out_ptr

If I read the implementation correctly, the clever_out_ptr can double-free the smart pointer.
Setup:

Have a unique_ptr with a value (non-NULL)
Pass this into a function via clever_out_ptr
function fails and does not set the pointer
clever_out_ptr checks the original pointer, sees it is != null and calls the deleter
deleter of unique_ptr calls delete on the same ptr

Am I missing anything or can you confirm this bug?

Fortunately, clever_out_ptr is disabled in the current code.  But yes, this is one of many reasons why it's not safe to use it.
out_ptr must, with no possible alternative, pass a nullptr as input to the called function.

As stated, it's off by default. And it's likely to remain that way: I'd need a third type to signal that a nullptr-setting API. For now, it does not double free (and there are tests to prove it out).

For now, it does not double free (and there are tests to prove it out).

Can you point me to the test mentioned? I described a sequence above which to my understanding will lead to a double free so I'm curious what I may have missed.

What I mean is clever_out_ptr is disabled, so there is no double freeing that occurs with regular usage. One would need to explicitly reach into the detail namespace and use clever_out_ptr directly to invoke the double-free.
It is off by default, therefore there is no double-freeing occurring.


AWS backend attaches created volume to random swarm node

Our deployment script does:

docker volume create # to pass size and profile
docker run  -v volume:path

So after step 1 we get new EBS volume attached to random node in swarm.
So step 2 forces flocker to detach new volume then attach to specific node from (constraint:node=node_name);
Can you advice me how to avoid this extra ops (time consuming and AWS can fail to detach sometimes, also flocker can create some extra volumes due to confusion).
I believe best approach is to keep created volume detached  until there is specific node to attach to.

Hi @nderzhak,
One way you could do this is by

docker volume create #size and profile
view which node the volume is on using flockerctl or https://clusterhq.volumehub.com
docker run -v # with the constraint:node=node_name for where the volume is attached.

This is not ideal but would work. Right now we always attach to a swarm node, I will bring this information back to our development team to discuss. I will note that If the volume is detached your always going to need to call for an "attach" from AWS where if its already attached Swarm and choose the node it is attached to. Either way your calling operations from AWS:

Detach/Attach # in the case swarm chooses different node
(no-op) # in the case where swarm chooses correct node
Attach # always if volumes where to be detached on initial creation.

Per your comments (time consuming and AWS can fail to detach sometimes, also flocker can create some extra volumes due to confusion).
We are aware of the eventual consistency of AWS, Flocker itself is built to withstand some of the issues that arise in AWS such as failure to create/detatch etc. Have you had incidents where flocker has created multiple volumes or volumes failed to detatch? I would be interested in finding out more detail of these scenarios to see if we can help.

Alternatively you could use docker run --volume-driver=flocker -v myvol:/mountpoint and the volume will be created where the container is run. Instead of separately.
Or using flockerctl you can specify where the volume is attached to, then run docker run with constraint for the same node.

Hi Ryan,
I am aware that docker run --volume-driver=flocker -v myvol:/mountpoint will create new volume.
But not sure how to set size and profile (EBS type) using this method.
Yes. I got one situation where volume stuck in detaching process and docker command (API call) timed out. So I had to repeat step.
Other case is when during (docker volume create; docker run -v ) steps one of volumes was duplicated.
So there were two volumes with the same name and id (I have checked on control node in curren*.json).
One was attached as expected and second detached (orphaned you know).
So I removed extra node to save money (we use PIOPS/gp2 1T volumes in production for elasticsearch cluster of 25 nodes).
I understand tradeoff of keeping volume detached on creation . But it seems as best approach when system do not know where it will be used. Chance that we hit the same node it was randomly attached on creation is 1/N  (where N is number of nodes). So will end up with extra detach/attach operations on any cluster bigger then 1 node :) with pretty big probability.
So we can claim this ticket as improvement request.
Regards,
Nikolai

Thanks Nikolai!
Agreed we will file it as that. Just as an update we mainly attach the volumes because we create a filesystem on the volume when its created. Rather, if we created and left detached we would need to create that filesystem on the volume when a container first used it. This is possible but was the initial design decision made.
Also, we are aware of the race condition where rarely you may end up with duplicate volumes. Currently its listed as "working on" in our JIRA so hopefully there will be a fix.
From your description, is it fair to say you are using flocker profiles in production for your elasticsearch cluster? Or are you exploring using Flocker?
thanks for your feedback.
Ryan

I see. You need to format it also. Make sense. I am ok with that too.
Glad you are aware of race condition and have a the ticket also :)
We have prepared scripts to spin up  prod elasticsearch cluster using swarm + flocker as volume driver.
It looks like custom elasticsearch docker image plus couple of parametrised bash scripts to create nodes , generate and install flocker keys and services , then deploy and configure elasticsearch containers .
This week we will fill new cluster with data and put under production traffic load to see how it goes.
What I really like about flocker is support of different cloud provider/platforms and AWS backoff/retries (so we do not hit RateLimit like with rex-ray).
Great product for sure !

@nderzhak Thanks for the feedback and glad you are enjoying it. Please continue reach out to us in anyway if we can help during your move to production or using flocker in general. Feel free to also ping us on freenode #clusterhq and<EMAIL_ADDRESS>Leaving this ticket open for now to see if anyone else in the community would like to see the same "volumes detached" feature.
R


Alpha4 + openmpi

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: CMakeFiles/DAMASK_grid.dir/grid/discretization_grid.f90.o: in function `__discretization_grid_MOD_discretization_grid_init':
discretization_grid.f90:(.text.__discretization_grid_MOD_discretization_grid_init+0x4de): undefined reference to `fftw_mpi_init'
/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: discretization_grid.f90:(.text.__discretization_grid_MOD_discretization_grid_init+0x51f): undefined reference to `fftw_mpi_local_size_3d_f03'
/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: CMakeFiles/DAMASK_grid.dir/grid/spectral_utilities.f90.o: in function `__spectral_utilities_MOD_utilities_fftvectorbackward':
spectral_utilities.f90:(.text.__spectral_utilities_MOD_utilities_fftvectorbackward+0x3d): undefined reference to `fftw_mpi_execute_dft_c2r'
/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: CMakeFiles/DAMASK_grid.dir/grid/spectral_utilities.f90.o: in function `__spectral_utilities_MOD_utilities_fftvectorforward':
spectral_utilities.f90:(.text.__spectral_utilities_MOD_utilities_fftvectorforward+0x16a): undefined reference to `fftw_mpi_execute_dft_r2c'
/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: CMakeFiles/DAMASK_grid.dir/grid/spectral_utilities.f90.o: in function `__spectral_utilities_MOD_utilities_fftscalarbackward':
spectral_utilities.f90:(.text.__spectral_utilities_MOD_utilities_fftscalarbackward+0x3d): undefined reference to `fftw_mpi_execute_dft_c2r'
/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: CMakeFiles/DAMASK_grid.dir/grid/spectral_utilities.f90.o: in function `__spectral_utilities_MOD_utilities_fftscalarforward':
spectral_utilities.f90:(.text.__spectral_utilities_MOD_utilities_fftscalarforward+0x137): undefined reference to `fftw_mpi_execute_dft_r2c'
/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: CMakeFiles/DAMASK_grid.dir/grid/spectral_utilities.f90.o: in function `__spectral_utilities_MOD_utilities_ffttensorbackward':
spectral_utilities.f90:(.text.__spectral_utilities_MOD_utilities_ffttensorbackward+0x3d): undefined reference to `fftw_mpi_execute_dft_c2r'
/home/conda/feedstock_root/build_artifacts/damask_1626293279248/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: CMakeFiles/DAMASK_grid.dir/grid/spectral_utilities.f90.o: in function `__spectral_utilities_MOD_utilities_ffttensorforward':
spectral_utilities.f90:(.text.__spectral_utilities_MOD_utilities_ffttensorforward+0x1b5): undefined reference to `fftw_mpi_execute_dft_r2c'

@conda-forge-admin, please rerender


remove exp10 from 3rdparty/rnnlm/rnnlmlib.cpp

3rdparty/rnnlm/rnnlmlib.cpp contains the function exp10 in some logging statements.
The exp10 function is not available on freeBSD, can you remove those logging lines, or change exp10 with pow(10.0, x)?
The muse project defined their own exp10 function if missing:
https://github.com/muse-sequencer/muse/commit/348d849e89de4ec3b859456b6fff3709f9ff414b

If you create a pull request for this, I'm happy to merge it. I don't think this bit is really used much TBH. Unless you are actively using it you could also omit it from the compilation.


Accept variables for 'nullable' in generators

Codecov Report

Merging #28 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #28      +/-   ##
==========================================
+ Coverage   85.93%   85.96%   +0.02%
==========================================
  Files          34       34
  Lines        1152     1154       +2
==========================================
+ Hits          990      992       +2
  Misses        162      162

Impacted Files
Coverage Δ

populous/generators/base.py
97.77% <100%> (+0.05%)
:arrow_up:

Continue to review full report at Codecov.

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


Release Cosmos Track 2 Library Preview 4 for Java

API Design
Features
Docs
Ux Study

Preview has been released, closing this issue now.


Test internals

As titled.
Any suggestion to improve the test?

Coverage increased (+2.7%) to 94.839% when pulling 95820e098249578d1367facd13551417803d71ed on test-internals into 389835d914e27837ef30cc1cc09e7d85c14b0367 on master.

Coverage increased (+2.7%) to 94.839% when pulling 0252eed9d4455470801886c775893f8e5735f340 on test-internals into 389835d914e27837ef30cc1cc09e7d85c14b0367 on master.


Add MarkDown formatting to examples/cifar10_cnn.py

Summary
This PR adds MarkDown formatting to examples/cifar10_cnn.py.
Result:

Related Issues
https://github.com/keras-team/keras/issues/12219
PR Overview

[ ] This PR requires new unit tests [y/n] (make sure tests are included)
[ ] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[x] This PR is backwards compatible [y/n]
[ ] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

My pleasure!


[Feature Request] Write process.json to Swate annotation table

Describe the solution you'd like
To increase interoperability with the whole Arc environment we want to introduce a feature to read in a isa process.json file standard_trypsin_digestion_WithProtocol.zip and create a Swate annotation table based of the given information.
Additional context

[x] Increase number of subpage tabs. -> increase toggle size between icon and text in tab.

[x] Add upload functionality to read in data.

[x] Add json parsing module for process file scheme.

[x] Add excel interop function to insert table based on read-in data.

Added Subpage "Insert Protocols". Here one can upload a process.json and insert all building blocks into a swate table.
Still need to add #101.
This change will be live from 0.3.0 onwards.


Cassandra 5 functions

The only changes are to shotover-proxy/tests/cassandra_int_tests/functions.rs. The rest is from the cluster tests PR.
Javascript functions have been deprecated in Cassandra 5 so I have switched our function tests to Java.

https://github.com/shotover/shotover-proxy/pull/1468 seems to be a prereq for this PR so I've marked this as draft.


JPEG/Ogg Vorbis/Font load failure on Android

I still get crash sometimes while reading JPEG file on Android.
I inserted __android_log_print between codes and found out that crash is happening randomly.
Maybe because Bytes is held on stack and it's destroyed by hxcpp's garbage collector? (#498)
https://github.com/openfl/lime/blob/923f16cefdea2fa1e5b8c0df34d5159514b088c6/project/src/graphics/format/JPEG.cpp#L230
I moved Bytes data; to higher scope but I still cannot load JPEG.
I copied JPEG error handling code from the Internet and got this error message:
Corrupt JPEG data: premature end of data segment
Unsupported marker type 0x93
Bug with MyDestManager maybe?
If I just use FILE* retrieved with FILE_HANDLE::getFile() everything just works fine.
The same thing is happening with OGG vorbis loader.
OAL_OggMemoryFile fakeFile is held on stack as well, but it's always destoyed before lime starts Ogg loading.
Simply using FILE* or moving fakeFile to higher scope solved this issue.
PNG loader does the same thing with Bytes, but never crashed for some reason. It may have finished reading before memory is destroyed.
Font loader crashed when I tried to load "Verdana" or "_serif", which does not exist on Android device.
The crash was inside SDL_RWOps, so there might be a bug in it.

I've fixed this by myself in my fork. They were mostly issues with C++ variable scopes, as I said in my previous post. Also, SDLActivity.java was outdated.
I also did other optimizations when I was working on this.

Do not open the same file twice
Do not copy whole file when loading font

FILE_HANDLE::getFile() works for most file types but not for PNG. SDL returns descriptor of raw APK instead of extracted file for this case? Is this why @jgranick said that you might skip into contents of other files in APK?
FILE_HANDLE::getFile() leaks file descriptor if file is Android assets (unless you manually close the file), so either way it's problematic to use this.

I'm having trouble finding these changes in your fork. Which files were related?

Please see this commit. JPEG loader is fixed after this commit though.
https://github.com/vroad/lime/commit/006bd6a907efa10686d2b4ee67c5b1c9e070b2b5
https://github.com/vroad/lime/commits/master/project/src/graphics/format/JPEG.cpp

I found an issue with the latest SDL version we were using, the template for Android was not up-to-date, so a regular file load routine that would hit an unfound file would crash instead of returning a null FILE pointer. With this fixed, it resolves issues that were occurring with font loading, it could be related to JPEG, PNG or other file loads as well

You also need to move some variable declarations to appropriate location. Without this fix, app may crash randomly as they get invalid too early.
It's related to all loaders because SDL always looks for expansion files if they are not found in apk assets or internal storage.


FLAN-T5-Large Bedrock Custom Model Import

FLAN-T5-Large Bedrock Custom Model Import example submitted because there is not an example of this currently.
Fine Tuned locally using HuggingFace transformers Seq2Seq. Notebook example was run on Sagemaker (instance specified in notebook) and shows how to Import the Model to Bedrock after fine tuning has been completed. This Notebook outlines a Medical Terminology usecase outlined in the notebook, and leaves customization options for the user.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Please re do this PR following the new layout and the process for creating the required file . We request all files to have a presence on the Cookbook / Recipes Website which is fronting this github repo now. Some of the mandatory sections of the notebook need to include

Overview.
What are we demonstrating .
What use case .
What will you learn.
What is the architectural pattern and why we select this. With a diagram
What are the libraries to install
What model did we choose and why this model
Every cell needs to have a markup


Add SidebarCommands to be able to bring Sidebar back.

On macOS, user is able to adjust sidebar width by dragging the separator. If the user drag it to near 0 width, it's impossible to get the sidebar back again. Adding SidebarCommands would have a command in View menu for user to toggle sidebar, as well as a key shortcut for doing so.

I think this may have build issues on iOS. There’s plans to introduce more menu items and this change is in the branch which I haven’t pushed yet.


Adding support for quantile_over_time in subqueries

Summary
Adding support for quantile_over_time in sub-queries.

A few nits again, we can do all of those in followup too if you prefer! The change itself is great

I have opened https://github.com/thanos-io/promql-engine/pull/415 today too, we could merge this, rebase and call in the subquery operator; wdyt?

I have opened #415 today too, we could merge this, rebase and call in the subquery operator; wdyt?

Please take a last look, if you feel there is something left I think we can take the approach you mentioned here. I was in a hurry and did not pay attention to what I was returning during the refactor.


is there a way to use (something like) a Poly on a sealed trait?

I'd like to be able to remove boilerplate like this:
sealed trait Trait
case class Foo() extends Trait
case class Bar() extends Trait

sealed trait Thing[T] { def thingy: String}
implicit def foo: Thing[Foo] = ???
implicit def bar: Thing[Bar] = ???

// this is the bit I'd like to simplify...
def thing(t: Trait): String = t match {
  case Foo() => implicitly[Thing[Foo]].thingy
  case Bar() => implicitly[Thing[Bar]].thingy
}

If I know which implementation of Trait I have, then obviously there is no need for the thing method, but it gets really really long if I have quite a few implementations.
If all I'm doing is a side-effect, or a transformation that doesn't change the type signature, then I've found that everywhere works quite well (that's probably a sledgehammer to crack a nut). But if I want to change the type (as in this example, where the application of Thing converts a Trait into String) then I have no options that I know of.
Basically, does shapeless have something that I could use here or is this a feature request?

btw, is it perhaps better to ask these sorts of questions on stackoverflow? I'm used to using the issue tracker as a Q&A forum but since shapeless has an active community, there might be a better place to ask this sort of thing.

am I just being an idiot, is this just basic application of a poly?

Almost, I have this:
  object thing extends Poly1 {
    implicit def thingAt[T <: Trait](implicit t: Thing[T]) = at[T](a => t.thingy)
  }

but I can't see how to actually apply this to an instance of a Trait and get a String back (well, for the compiler to know that).

I'll discuss on gitter and close here. Full code at https://gist.github.com/fommil/d3fe97c86deb74a94fe2

full example https://gist.githubusercontent.com/fommil/d3fe97c86deb74a94fe2/raw/1c13543baf34a01f949b5f534cc3434ef3565c05/gistfile1.scala

reopening because actually this needs me to know the type when passing it to thing... I need it to resolve which element in the coproduct to use.

This isn't a bug! You need to map your poly over the coproduct representation of Trait.

I updated the gist, I don't know how to do the select call to get the result back again.

Seriously, this is a StackOverflow question, or something to ask about on the gitter channel. Also check your twitters for a solution ;-)

cool, unify works! Thanks :smile:
The syntax is a bit messy though, is there any way to do it all within a single object?
I can't use gitter at work and stackoverflow is very flaky (random pages banned).

if I put that logic in an apply on the object, it also works, which is cleaner. I'll look into abstracting it to avoid having to write the Generic / mapping etc.
Is there a big overhead to obtain the Generic[T] or should that be cached?

Gotcha, but please don't use issues for this sort of thing. Send me a mail or something.

ok, that really limits me though because I don't get a reliable mobile signal at work :sob: I'll send them at lunchtime or wait till the evenings and use stack overflow.

Use a gist then?

Will do! Might write this up tonight as a Q&A on shark overflow

http://stackoverflow.com/questions/29651482


crash when giving invalid format to wait

Describe the bug
vit should either do some validation on the arguments to wait or handle errors from task backend ?
In addition, after restarting vit , no tasks appear anymore,  only the list with the text "Loading..."
The db is probably intact, since running 'task' directly shows the expected list.
To Reproduce

select task
press 'w'
just type '1' then Enter

Expected behavior
no crash, possibly error message.
** output **
Traceback (most recent call last):
  File "/usr/bin/vit", line 33, in <module>
    sys.exit(load_entry_point('vit==2.3.2', 'console_scripts', 'vit')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vit/command_line.py", line 5, in main
    Application(options, filters)
  File "/usr/lib/python3.12/site-packages/vit/application.py", line 83, in __init__
    self.loop.run()
  File "/usr/lib/python3.12/site-packages/urwid/event_loop/main_loop.py", line 337, in run
    self._run()
  File "/usr/lib/python3.12/site-packages/urwid/event_loop/main_loop.py", line 439, in _run
    self.event_loop.run()
  File "/usr/lib/python3.12/site-packages/urwid/event_loop/select_loop.py", line 182, in run
    self._loop()
  File "/usr/lib/python3.12/site-packages/urwid/event_loop/select_loop.py", line 229, in _loop
    record.data()
  File "/usr/lib/python3.12/site-packages/urwid/display/_posix_raw_display.py", line 273, in wrapper
    return self.parse_input(event_loop, callback, self.get_available_raw_input())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/urwid/display/_raw_display_base.py", line 488, in parse_input
    callback(decoded_codes, raw_codes)
  File "/usr/lib/python3.12/site-packages/urwid/event_loop/main_loop.py", line 466, in _update
    self.process_input(keys)
  File "/usr/lib/python3.12/site-packages/urwid/event_loop/main_loop.py", line 566, in process_input
    handled_key = self._topmost_widget.keypress(self.screen_size, key)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/urwid/widget/popup.py", line 143, in keypress
    return self._current_widget.keypress(size, key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vit/application.py", line 71, in keypress
    return super().keypress(size, key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/urwid/widget/frame.py", line 513, in keypress
    return self.footer.keypress((maxcol,), key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vit/multi_widget.py", line 59, in keypress
    return self.current_widget.keypress(size, key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vit/command_bar.py", line 34, in keypress
    self.quit({'key': key, 'text': text})
  File "/usr/lib/python3.12/site-packages/vit/command_bar.py", line 81, in quit
    self.event.emit('command-bar:keypress', data)  # remove focus from command bar
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vit/event.py", line 16, in emit
    listener(data)
  File "/usr/lib/python3.12/site-packages/vit/application.py", line 381, in command_bar_keypress
    self.activate_message_bar('Task %s wait updated' % self.model.task_id(metadata['uuid']))
                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vit/task.py", line 64, in task_id
    task = self.tw.tasks.get(uuid=uuid)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tasklib/task.py", line 552, in get
    num = len(clone)
          ^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tasklib/task.py", line 475, in __len__
    self._result_cache = list(self.__iter__())
                              ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tasklib/task.py", line 480, in __iter__
    self._result_cache = self._execute()
                         ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tasklib/task.py", line 512, in _execute
    return self.backend.filter_tasks(self.filter_obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tasklib/backends.py", line 316, in filter_tasks
    for line in self.execute_command(args):
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tasklib/backends.py", line 279, in execute_command
    raise TaskWarriorException(error_msg)
tasklib.backends.TaskWarriorException: TASKDATA override: /.../todos
Configuration override rc.confirmation=no
Configuration override rc.dependency.confirmation=no
Configuration override rc.recurrence.confirmation=no
Configuration override rc.json.array=off
Configuration override rc.bulk=0
Configuration override rc.data.location=/.../todos
'1' is not a valid date in the '' format.
Command used: task rc.confirmation=no rc.dependency.confirmation=no rc.recurrence.confirmation=no rc.json.array=off rc.bulk=0 rc.data.location=/.../todos f2a6ccc8-6574-43ab-bc64-dc8f04eb25bf export

Cannot replicate, the current code is catching the error fine:

It's also a bit weird the error shows backtrace to the quit command, so not sure how you are getting to this error.
The relevant code is here: https://github.com/vit-project/vit/blob/2.x/vit/application.py#L368-L383
Are you using the latest release?

Thanks for checking this out.

Are you using the latest release?

2.3.2 , I might try building straight from git if useful.
To test again, I temporarily moved my db to auto-create a new one; added a bogus task, entered again wait then 1 , and it crashed with the same trace.
Is there a way to get some kind of debug output pre-crash ?

Here is a db that vit cannot open anymore after doing "wait 1" .
taskchampion.zip

Looks like you're using the 3.x version of Taskwarrior. I haven't done any work for that version yet.
As far as I understand, the CLI interface was the same as the 2.6.x series.
I don't have any plans to work on any 3.x compatibility yet, still waiting for that series to stabilize.
You might consider moving back to 2.6.x, or digging into the VIT code and submitting a PR.

the 3.x version of Taskwarrior. I haven't done any work for that version yet.

Ah, understood. Didn't notice if this was mentioned in the docs, although as you said one could've expected the CLI semantics to remain unchanged.

digging into the VIT code

Unfortunately out of scope for me, and insufficient brain-hours : )

Actually looks like an upstream issue : https://github.com/GothenburgBitFactory/taskwarrior/issues/3444
simply running task export will trigger the bug.
I guess this can be closed, or kept for reference until upstream is fixed ?

No need to keep this open, glad the issue was tracked down.