Ack error doesn't work on datepickers

I'm trying to display an error message below a datepicker. I know that these erros can only show up in Input blocks, so that's what I'm using. Why the ack error doesn't work? I'm sure the function gets called, because I can log from it.
My variables:
START_DATE_BLOCK_ID = 'vacation-start-date-block'
START_DATE_ACTION_ID = 'vacation-start-date-action'

END_DATE_BLOCK_ID = 'vacation-end-date-block'
END_DATE_ACTION_ID = 'vacation-end-date-action'

CONFIRM_BUTTON_BLOCK_ID = 'confirm-button-block-id'
CONFIRM_BUTTON_ACTION_ID = 'confirm-button-action-id'

My blocks:
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Please pick up the date when your vacation starts and ends :desert_island: "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "input",
			"block_id": "vacation-start-date-block",
			"label": {
				"type": "plain_text",
				"text": "Date when your vacations starts"
			},
			"element": {
				"type": "datepicker",
				"action_id": "vacation-start-date-action",
				"initial_date": "2022-09-05"
			}
		},
		{
			"type": "input",
			"block_id": "vacation-end-date-block",
			"label": {
				"type": "plain_text",
				"text": "Date when your vacations ends"
			},
			"element": {
				"type": "datepicker",
				"action_id": "vacation-end-date-action",
				"initial_date": "2022-09-05"
			}
		},
		{
			"type": "actions",
			"block_id": "confirm-button-block-id",
			"elements": [
				{
					"type": "button",
					"text": {
						"type": "plain_text",
						"text": "Add"
					},
					"action_id": "confirm-button-action-id",
					"style": "primary"
				}
			]
		}
	]
}

Code for the actions:
@slack_app.action(START_DATE_ACTION_ID)
def start_date_action(ack, body, respond):
    errors = {}
    errors[START_DATE_BLOCK_ID] = 'noooooo'
    ack(response_action="errors", errors=errors)

As a result, the correct message is created, but when I select the date, it fires the start_date_action  method but doesn't do anything with the error.
What am I doing wrong?

Hi @giusepic, thanks for asking the question!
Unfortunately, displaying errors for input blocks is not supported in channel messages and Home tab. To use the input validation feature, please consider opening a modal for this interaction instead. Also, another workaround would be rewriting the whole blocks to have some error information (in a new block, it's not feasible to have the built-in error appearance with this way).
I hope this was helpful to you.

Hi @seratch ,
thanks for the clarification! I tried again, this time with a modal, but the result doesn't change: the action is invoked, but the ack doesn't work (or better, it works but no error is displayed)
{
   "type":"modal",
   "callback_id":"modal-calback-id",
   "private_metadata":"",
   "title":{
      "type":"plain_text",
      "text":"Add new vacation"
   },
   "submit":{
      "type":"plain_text",
      "text":"Add"
   },
   "close":{
      "type":"plain_text",
      "text":"Cancel"
   },
   "blocks":[
      {
         "type":"input",
         "block_id":"vacation-start-date-block",
         "element":{
            "type":"datepicker",
            "initial_date":"2022-09-06",
            "placeholder":{
               "type":"plain_text",
               "text":"Vacation start"
            },
            "action_id":"vacation-start-date-action"
         },
         "label":{
            "type":"plain_text",
            "text":"Date when your vacation starts"
         },
         "dispatch_action":true
      },
      {
         "type":"input",
         "block_id":"vacation-end-date-block",
         "element":{
            "type":"datepicker",
            "initial_date":"2022-09-06",
            "placeholder":{
               "type":"plain_text",
               "text":"Vacation end"
            },
            "action_id":"vacation-end-date-action"
         },
         "label":{
            "type":"plain_text",
            "text":"Date when your vacation ends"
         },
         "dispatch_action":true
      }
   ]
}

@slack_app.action(START_DATE_ACTION_ID)
def start_date_action(ack, body, respond):
    errors = {}
    errors[START_DATE_BLOCK_ID] = 'noooooo'
    ack(response_action="errors", errors=errors)

@seratch I see!
Yes, in the app.view listener everything works correctly :)
Thank you for the support!

Glad to hear that!


currentSchema support

Introduced in PostgreSQL 9.4, it allows the following syntax:
postgres://username:password@host:port/database?currentSchema=myschema

which needs to be added.
See also: http://stackoverflow.com/questions/4168689/is-it-possible-to-specify-schema-when-connecting-to-postgres-with-jdbc

Looks like querystring parsing only supports certain limited number of options. There are a lot more of them: https://www.postgresql.org/docs/9.5/static/libpq-connect.html#LIBPQ-CONNSTRING.
Perhaps we should pass in everything we parsed, and not a subset.
(Relevant: https://github.com/brianc/node-postgres/issues/1095)

Should be solved with #7.

import { parse, ConnectionOptions } from 'pg-connection-string';

interface customConnectionOptions extends ConnectionOptions {
  schema: string;
}

const db = parse(process.env.DATABASE_URL) as customConnectionOptions;

console.log(db)


how to skip one iter for all ranks

When NaN happens during forward step of one rank, how to skip this global step for all ranks? Thanks.

bmtrain.optim.OptimManager can do this during the backward step, can it meet your needs?

bmtrain.optim.OptimManager can do this during the backward step, can it meet your needs?

If NaN found during backward step, loss scale will be adjusted to small value.
When NaN found in forward step, it maybe implies bad data. Could just skip the current step and no backward (also no loss scale changes)? @Achazwl

Maybe you can use bmt.sum_loss(loss) to find if any rank has NaN? bmt.sum_loss(loss)will be the same on each rank, therefore you can skip globally.

Maybe you can use bmt.sum_loss(loss) to find if any rank has NaN? bmt.sum_loss(loss)will be the same on each rank, therefore you can skip globally.

We used this as follows. But encounter one case:
when one NaN batch found(already checked and indeed inf and nan tensors found in forward step), reduced_loss is equal to NaN and current global step skipped. However,  since this batch rank0 will keep NaN value and it seems sum_loss still holds NaN state since then.
Could you give some advice to debug this case, thanks!

After skipping the current data, is the next batch of data still only rank 0 produce nan?
After continuously skipping the next step, is all batches have only rank 0 produce nan and others not?

After skipping the current data, is the next batch of data still only rank 0 produce nan? After continuously skipping the next step, is all batches have only rank 0 produce nan and others not?

After skipping the current data, each rank model output loss(loss variable in above screenshot) of each rank is valid value. but reduced_loss of each rank still NaN.
Not sure whether bmt.sum_loss still hold NaN or lm_loss.detach.clone().view(1) has something wrong.

Could you please give some suggestions about above case?thanks

sum_loss will not retain the previous NaN. Is the loss of half type or float32 type now? Use regular Python print to check if there are extreme values for each rank's loss, such as near the value boundary.

sum_loss will not retain the previous NaN. Is the loss of half type or float32 type now? Use regular Python print to check if there are extreme values for each rank's loss, such as near the value boundary.

whole model & loss are half type. By printing each layer outputs(including intermediate activations), no inf or nan found. It says each rank outputs valid loss. However, sum_loss & sum_loss.detach is NaN.


Feature Request: Executing Log Analytics Workspace Queries, via the Azure SDK

https://github.com/Azure/azure-rest-api-specs/blob/c2d2b523575031790b8672640ea762bdf9ad4964/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/stable/v1/OperationalInsights.json#L48

closing this issue. Will open in Azure-sdk-for-go repo


[Snyk] Security upgrade org.jbehave:jbehave-spring from 4.8 to 4.8.2

Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

768/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 7.5
Server-side Template Injection (SSTI) SNYK-JAVA-ORGFREEMARKER-1076795
org.jbehave:jbehave-spring:  4.8 -> 4.8.2
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Superseded by #564


Handle Auth retries in RestWrapper & allow custom RestWrapper in Historian

Problem context:

I added Auth Retry handling in #5116, but there were some flaws in the logic and efficiency pointed out in #5216.
Simultaneously, I was adding stronger HTTP error handling to r11s-driver in #5200, where @vladsud correctly pointed out that we should really be handling HTTP errors as close to the actual HTTP request as possible (e.g. in RestWrapper). However, we don't want to/can't pull DriverErrors from @fluidframework/driver-utils and @fluidframework/driver-definitions across layers into the current RestWrapper implementation from @fluidframework/server-services-client.

Solution:

Make RestWrapper more generic, while also making it extendable/customizable using an abstract class and protected properties
Optionally handle 401 auth retry directly within BasicRestWrapper to maintain functionality introduced in #5116
Add optional RestWrapper param to Historian

this will allow us to pass a RouterliciousDriverRestWrapper into DocumentStorageService's Historian for Driver-specific error handling

Closes #5233

Looks good. The net PR will contain the driver specific error handling right?

Yep! The next PR will come after this is released (hopefully in 0.1020.0)


Support exclude-old-transactions parameter

In Apple document, exclude-old-transactions parameter is able to use in verifyReceipt API.

exclude-old-transactions
Only used for iOS7 style app receipts that contain auto-renewable or non-renewing subscriptions. If value is true, response includes only the latest renewal transaction for any subscriptions.

Ref:
https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html

Thank you!


Apply pagination with a filter field

When we try to apply pagination with PagingAndSortingRepository as interface is not possible to define a method like this:

findByPersonName(personName, pageable)
Would it possible to implement this feature?

Works & documented here:  https://github.com/derjust/spring-data-dynamodb/issues/180


Add docker install documentation

Resolves #1

@kmw @adamdroberts @iuri could I please get reviews on this, and/or suggestions to alter the format, etc

@calteknet/developers I am working on changing this to use the official docker repositories instead of the Ubuntu maintained docker.io. Once this is done I'll ping again, please review this in a timely manner once it's done so I could merge it. It's been lingering a while
Thanks

@calteknet/developers the changes have been made, please review! Thanks 👍

LGTM

resolve #1

Resolves #1
Closes #1
fixes #1


Error in Continue server: No such file or directory (py files missing)

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: macOS 12.6.8 (M1)
- Continue: 0.0.14
IDE: Jetbrains Webstorm 2023.4 (Latest)

Description
Installed plugin a few days ago and was working perfectly for a while. Booted up Webstorm (tried a few different projects) and constantly throws this error on loading the project:
Error in Continue server: [Errno 2] No such file or directory
Traceback (most recent call last):
File "server/continuedev/server/session_manager.py", line 92, in new_session
File "server/continuedev/core/autopilot.py", line 127, in start
File "server/continuedev/core/autopilot.py", line 106, in load
File "server/continuedev/core/sdk.py", line 124, in create
File "server/continuedev/core/sdk.py", line 94, in load
File "/var/folders/z4/z9_0j04x72jf0h1ldmxf8hl80000gn/T/_MEIQWpJMi/continuedev/core/models.py", line 106, in start
File "server/continuedev/core/sdk.py", line 136, in start_model
File "/var/folders/z4/z9_0j04x72jf0h1ldmxf8hl80000gn/T/_MEIQWpJMi/continuedev/libs/llm/openai_free_trial.py", line 61, in start
File "/var/folders/z4/z9_0j04x72jf0h1ldmxf8hl80000gn/T/_MEIQWpJMi/continuedev/libs/llm/proxy_server.py", line 33, in start
File "/var/folders/z4/z9_0j04x72jf0h1ldmxf8hl80000gn/T/_MEIQWpJMi/continuedev/libs/llm/base.py", line 217, in create_client_session
File "ssl.py", line 766, in create_default_context
FileNotFoundError: [Errno 2] No such file or directory

At this point the plugin won't work, attempting to type any questions into the sidebar Continue textarea results in:
'NoneType' object has no attribute 'stream_chat'

To reproduce
No response
Log output
Attempting to view Continue specific logs results in 'Action not yet implemented' message in Jetbrains. The Jetbrains logs folder does not have this file either.

Thanks for sharing this. It's something I fixed in VS Code but haven't yet gotten published in a new IntelliJ version. I'll let you know as soon as it's ready!

Thanks! Anything I can do in the meantime to workaround this? Incidentally, I do see that continue created a user directory under ~/.continue. Is it possible for me to start the backend server independently of Jetbrains using my global installed Python 3x distro and then point the Jetbrains extension at it?

any updates on this??
or at least anything we can do on our end for now?

@scpedicini There's now a new extension version ready (0.16) that I believe will solve this, but yes! It is also an option to run the server manually. There's a quick walkthrough here, but basically you can pip install continuedev, python -m continuedev to start the manual server. You'll want to go to IntelliJ settings -> Tools -> Continue and select the box for "Manually Running Server" so that the extension doesn't try to start the binary on its own. Then just give the window a reload

@bainternet 0.16 should solve many of these errors - were you seeing the exact same one?

Going to close this issue since it has been solved in my testing, but if I've missed something please feel free to re-open!


in modeladmin top tabs should use plural rather than singular name

When you open a model admin application you see the top tabs of the various models that you can edit.  These names use the singular name of the dataobject (e.g. page, team, employee, bus, colour, etc...).  It makes more sense to use the plural name, because when you click on them, you see a list of colours, teams, employees, pages, etc... Sure, you can then create a new page, team, etc.... but you also do this many times.
If this is accepted then I can make pull request for it.  Would we need a test for it?????

@sunnysideup Did you have a PR for this ready to go?

No, I dont have a PR for this.  I can make one - if you like. But I am not going to write a test for it as this would take too much time for me.

@sunnysideup You can do it as a new issue if you would like, but when you create the pull request, if you just put "Fixes #3362" in the commit message and pull request, it'll automatically be linked to this and close this issue when it's fixed.

@kinglozzer - that very useful little snippet you posted above, could we not add that to the docs?


Adding Client SSL support, adding an option for specifying a CA chain.

I needed to be able to connect to an HTTPS server that requires a client cert. I found the options in the WS library and saw that it was trivial to add to the wscat utility, so I did.
I also added an option to specify a CA for the server, which fixes #13.

Thanks!


Memory broadcast copy

The broadcast fix was incorrectly merged into 1.15 and was effectively disabled. This PR takes care of the problem.

Can one of the admins verify this patch?


About Image Rect Bandwidth

First of all, I did what was mentioned in the readme file and build the workspace correctly. I replaced my own calibration parameters with those in the test_full_res.yaml file. I visualized via Rviz2 and there was no problem. But when I watch the bandwidths of the topics, I realized that the rectified image use much bw. Is it normal?

Also upper is /image and bottom is /image_rect

I changed camera resolution from 2048x1536 to 1920x1280 in ArenaView, and bining_v and bining_h to 1 in parameter file. Currently both problems are resolved.
Note: The width and height in the calibration yaml (eg. test_full_res.yaml) should be equal to the width and height of the raw image. Otherwise you will get an output like mine on Rviz2. Also sure raw image width and height before implement bining.


terminal is not working

We have written the needed data into your clipboard because it was too large to send. Please paste.

Thanks for the bug report, but unfortunately we need some more information from you in order to triage this issue appropriately. Please edit your opening comment by providing a filled-in copy of our issue template. Once you are done please leave a comment to that effect.


⚠ Spryr has degraded performance

In 741561e, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3302 ms

Resolved: Spryr performance has improved in e79095a after 7 minutes.


Google Analytics Tags

There is a google analytics code inside this bot which is not only completely unneeded for the game play , but also tracks everything you do down to your demographics and reports back to google ( and the developer ) in real time ..
I suggest you remove that and give people a cleaner experience ..

I didn't like the ads as well but what's the problem with Google Analytics ?

Google tracks you , EVERY USER !! down to demographics.. how long you use , when you use, where you from , how old are you , if you've never used google analytics take a look ..
it's very very detailed tracking ..
THERE IS ABSOLUTELY NO NEED FOR IT IN ORDER FOR THE BOT TO RUN ..

What if this part was moved to the loader instead ? That gives a choice. If you don't want Google Analytics, then use the separate files. If you don't mind, use the loader.

I totally agree with this :

The Google Analytics isn't Apos's - it's agar.io's own so we can remove it.

well , I don't see why anyone would want apos to track them even remotely ..
and Fliife that's a brilliant idea.. the loader is not being updated for ages anyways.. almost everyone uses the two seperate files ..
but hey , hold your horses on these .. Apos put those tracking there and he might insist to have it..
I had all these discussions with him months ago to no success ..

@muratlahur

hold your horses on these .. Apos put those tracking there and he might insist to have it..

@ErmiyaEskandary Kinda. He made a few commits to this during this month, so he's still aware of this, just not as active as he was back in September.

@Drflash55 I guess we have to wait for his input then...

guys, it's evil tracking of google , I use it for my websites so I know what it can do ..
 Apos put those tracking there and he might insist to have it..

Issue on hold.

oh well .. then you are doomed as he is no where to be found for months and months ..

how about a poll ??

Ok - so thumbs up this comment if you want Analytics code to be removed for the aforementioned reasons.

I propose this, so that we can compare the + and the -. Strawpoll under maintainance.
http://polls.cc/AZiMuj/

@FliiFe We want it removed completely - not moved to the loader.

it's evil .. It tracks you .. and your sister and your cat ..
lol hhihihihihi  :P :P

I updated the link

We have three thumbs up anyway and the poll is 100% for remove. What's your stand on this @FliiFe ?

lol I officially like FliiFe now.. That poll was cute ..
LMFAO @ nah. love being tracked

Poll closed so will be removed shortly.

What's your stand on this @FliiFe ?

What's your stand on this @FliiFe ? Helloooo ?

@ErmiyaEskandary Didn't see that. I personally don't really care about what google do with my infos, but I don't see the point of using Analytics for such project...

@muratlahur @FliiFe @Drflash55 Will be removed now


mpeg2: invalid output audio stream when muxing h264 and aac

I have raw h264 and aac files (sample.zip). I am trying to mux it into mpegts. This is the example code
sample code
package main

import (
	"github.com/yapingcat/gomedia/go-mpeg2"
	"os"
)

func main() {
	muxer := mpeg2.NewTSMuxer()
	vid := muxer.AddStream(mpeg2.TS_STREAM_H264)
	aid := muxer.AddStream(mpeg2.TS_STREAM_AAC)

	out, _ := os.OpenFile("out.ts", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0755)
	defer out.Close()
	muxer.OnPacket = func(pkg []byte) {
		out.Write(pkg)
	}

	h264Bytes, _ := os.ReadFile("h264")
	muxer.Write(vid, h264Bytes, 0, 0)

	aacBytes, _ := os.ReadFile("aac")
	muxer.Write(aid, aacBytes, 0, 0)
}

ffprobe result
here aac is missing sample rate and other information
❯ ffprobe -hide_banner out.ts
[mpegts @ 0x13e604ca0] start time for stream 1 is not set in estimate_timings_from_pts
[mpegts @ 0x13e604ca0] stream 1 : no TS found at start of file, duration not set
[mpegts @ 0x13e604ca0] Could not find codec parameters for stream 1 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mpegts, from 'out.ts':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 632845 kb/s
  Program 1
  Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn
  Stream #0:1[0x101]: Audio: aac ([15][0][0][0] / 0x000F), 0 channels

valid result with different order
aacBytes, _ := os.ReadFile("aac")
muxer.Write(aid, aacBytes, 0, 0)

h264Bytes, _ := os.ReadFile("h264")
muxer.Write(vid, h264Bytes, 0, 0)

❯ ffprobe -hide_banner out.ts
Input #0, mpegts, from 'out.ts':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 632845 kb/s
  Program 1
  Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn
  Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 64 kb/s

i would like to know why order matters when writing to mepg2 muxer

you should split h264/aac frame
refer mux_ts_aac split aac frame
refer mux_ts_h264 split h264 frame

audio and video frame should be written alternately. just like code below
package main

import (
	"fmt"
	"os"

	"github.com/yapingcat/gomedia/go-codec"
	"github.com/yapingcat/gomedia/go-mpeg2"
)

func main() {
	muxer := mpeg2.NewTSMuxer()
	vid := muxer.AddStream(mpeg2.TS_STREAM_H264)
	aid := muxer.AddStream(mpeg2.TS_STREAM_AAC)

	out, _ := os.OpenFile("out.ts", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0755)
	defer out.Close()
	muxer.OnPacket = func(pkg []byte) {
		out.Write(pkg)
	}

	var pts uint64 = 0
	var dts uint64 = 0

	notify_write_auido := make(chan struct{}, 1)
	notify_write_video := make(chan struct{}, 1)

	done_video := make(chan struct{})
	done_audio := make(chan struct{})
	go func() {
		h264Bytes, _ := os.ReadFile("h264")
		codec.SplitFrameWithStartCode(h264Bytes, func(nalu []byte) bool {
			pts += 40
			dts += 40
			muxer.Write(vid, nalu, pts, dts)
			notify_write_auido <- struct{}{}
			<-notify_write_video
			return true
		})
		close(done_video)
	}()

	go func() {
		aacSampleRate := -1
		aacBytes, _ := os.ReadFile("aac")
		codec.SplitAACFrame(aacBytes, func(aac []byte) {
			if aacSampleRate == -1 {
				adts := codec.NewAdtsFrameHeader()
				adts.Decode(aac)
				aacSampleRate = codec.AACSampleIdxToSample(int(adts.Fix_Header.Sampling_frequency_index))
				fmt.Println(aacSampleRate)
			}
			<-notify_write_auido
			muxer.Write(aid, aac, pts, pts)
			pts += uint64(1024 * 1000 / aacSampleRate)
			notify_write_video <- struct{}{}
		})
		close(done_audio)
	}()

	select {
	case <-done_audio:
		break
	case <-done_video:
		break
	}
}

@yapingcat Thanks for explanation. this was super useful information. i didn't know that we should write video/audio frames alternatively. i would like to know that is this necessary for multi track mpegts? also what would be efficient way to write mpegts for HLS?

Thanks for explanation. this was super useful information. i didn't know that we should write video/audio frames alternatively. i would like to know that is this necessary for multi track mpegts? also what would be efficient way to write mpegts for HLS?

in this case，the best way is that  you should  write video/audio frames alternatively .
in fact，ffmpeg probe the ts stream to get video/audio frame，because ffmpeg need codec parameter to init  audio/video encoder.

Could not find codec parameters for stream 1 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options

this ffmpeg log show us, we can set probe distance.

also what would be efficient way to write mpegts for HLS?

when you convert media stream(just like rtsp,rtmp,webrtc  ....) to hls,you can take  the receiving order as the write order,
recv one frame and then write mpegts
If your scenario is like this issue，Audio and video are separate. It will be complicated.


Roaring import timestamps in nanoseconds. Fixes #203

Fixes #203

Coverage remained the same at 98.35% when pulling e46b013583ec2aa99bf6356bd99355b833d45aa2 on yuce:203-import-roaring-timestamps-in-nanoseconds into 36d55b98a52c83408a56ce215bf7a06e9b3de4c0 on pilosa:master.

Coverage remained the same at 98.35% when pulling e46b013583ec2aa99bf6356bd99355b833d45aa2 on yuce:203-import-roaring-timestamps-in-nanoseconds into 36d55b98a52c83408a56ce215bf7a06e9b3de4c0 on pilosa:master.


Devs SBAT use latest upstream blockscout

Related PRs are https://github.com/celo-org/blockscout/pull/8 and https://github.com/celo-org/celo-monorepo/pull/1129


cutadapters.wdl crashes if it encounters and empty fastq.gz file

cutadapters.wdl crashes if it encounters and empty fastq.gz file, crashing the whole pipeline. An exception must be added to deal with empty fastq files.
Example of an error message below:
Output will be written into the directory: /cromwell_root/Results/
Using user-specified basename (>>SN23KDG106_S37_L001_R1_001<<) instead of deriving the filename from the input file(s)
Input file '/cromwell_root/fc-dab15d04-6d9f-4b07-9b00-045a60cdb4bf/cigass_mad4hatter/raw_files/run4/SN23KDG106_S37_L001_R1_001.fastq.gz' seems to be completely empty. Consider respecifying!

2024/11/08 03:58:45 Starting delocalization.
2024/11/08 03:58:46 Delocalization script execution started...
2024/11/08 03:58:46 Delocalizing output /cromwell_root/memory_retry_rc -> gs://fc-dab15d04-6d9f-4b07-9b00-045a60cdb4bf/submissions/05dd0c74-7a1a-4ba3-a033-a4b09f417173/ampseq/ec4f70ff-4c46-4b34-bda1-a553106ab4a9/call-t_002_cutadapters/shard-14/attempt-2/memory_retry_rc
2024/11/08 03:58:48 Delocalizing output /cromwell_root/rc -> gs://fc-dab15d04-6d9f-4b07-9b00-045a60cdb4bf/submissions/05dd0c74-7a1a-4ba3-a033-a4b09f417173/ampseq/ec4f70ff-4c46-4b34-bda1-a553106ab4a9/call-t_002_cutadapters/shard-14/attempt-2/rc
2024/11/08 03:58:50 Delocalizing output /cromwell_root/stdout -> gs://fc-dab15d04-6d9f-4b07-9b00-045a60cdb4bf/submissions/05dd0c74-7a1a-4ba3-a033-a4b09f417173/ampseq/ec4f70ff-4c46-4b34-bda1-a553106ab4a9/call-t_002_cutadapters/shard-14/attempt-2/stdout
2024/11/08 03:58:51 Delocalizing output /cromwell_root/stderr -> gs://fc-dab15d04-6d9f-4b07-9b00-045a60cdb4bf/submissions/05dd0c74-7a1a-4ba3-a033-a4b09f417173/ampseq/ec4f70ff-4c46-4b34-bda1-a553106ab4a9/call-t_002_cutadapters/shard-14/attempt-2/stderr
2024/11/08 03:58:52 Delocalizing output /cromwell_root/Results/SN23KDG106_S37_L001_R1_001_val_2.fq.gz -> gs://fc-dab15d04-6d9f-4b07-9b00-045a60cdb4bf/submissions/05dd0c74-7a1a-4ba3-a033-a4b09f417173/ampseq/ec4f70ff-4c46-4b34-bda1-a553106ab4a9/call-t_002_cutadapters/shard-14/attempt-2/Results/SN23KDG106_S37_L001_R1_001_val_2.fq.gz
Required file output '/cromwell_root/Results/SN23KDG106_S37_L001_R1_001_val_2.fq.gz' does not exist.

workflow CutAdaptersWorkflow {
input {
File fastq_file
}
# Task to check if the fastq file is empty
task CheckFileSize {
    input {
        File fastq_file
    }

    command <<<
        if [[ $(zcat ${fastq_file} | wc -c) -eq 0 ]]; then
            echo "EMPTY"
        else
            echo "NONEMPTY"
        fi
    >>>

    output {
        String file_status = read_string(stdout())
    }
}

# Task to run cutadapt on non-empty fastq files
task RunCutadapt {
    input {
        File fastq_file
    }

    command {
        # Run cutadapt (replace this with your cutadapt command)
        cutadapt -o trimmed.fastq.gz ${fastq_file}
    }

    output {
        File trimmed_fastq = "trimmed.fastq.gz"
    }
}

# Define the workflow steps
call CheckFileSize { input: fastq_file = fastq_file }

# Conditional call to RunCutadapt only if the file is not empty
if (CheckFileSize.file_status == "NONEMPTY") {
    call RunCutadapt { input: fastq_file = fastq_file }
}

}

Solved by commit 7736b67


Update scalameta to 4.4.18

Updates org.scalameta:scalameta from 4.4.15 to 4.4.18.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalameta" } ]

labels: library-update, semver-patch

Superseded by #1123.


Upgrade iOS version to 13.0

Hello, Im trying to implement this library in my Capacitor 4 project but it doesnt compile due to the minimum iOS version requirements.
In Capacitor 4 it is set to be 13.0 in all plugins but in the podspec of this project it is set to 12.0.
s.ios.deployment_target  = '12.0'
Is there anyway to upgrade this to 13.0?
Thank you

Fixed in v1.2.9.

Hello again @diachedelic sorry to bother you but it is possible that in the last update (1.2.14) the s.ios.deployment_target  = '13.0' went back to 12.0 again? cause it's giving me the same iOS error in this version. (In 1.2.9 its working fine though)
Thank you!

I changed it back to retain support for Capacitor v3. You can fix your build errors using something like this: https://stackoverflow.com/a/37289688/502846. When this plugin drops support for Capacitor v3, I will bump the deployment target to iOS 13.

Thank you! That worked perfect! And one more thing i don't know if its my device or something im not handling well but i can't change the default background notification text with backgroundMessage and backgroundTitle. Is it not working for you either or its something related to my code?
thanks!

Most likely you have not configured the icon correctly. Follow the instructions here exactly: https://github.com/capacitor-community/background-geolocation#android.


Received Status Code - BadRequest: Failed post to Discord Channel

I: Found new post for Url: https://gamerant.com/feed/gaming/
I: news: Found 2 new posts..
E: Received Status Code - BadRequest: Failed post to Discord Channel
E: Received Status Code - BadRequest: Failed post to Discord Channel
What's the problem?
how can we fix this?
{
"Instances": [
{
"Id": "news",
"Username": "NewsBot",
"RssUrls": [
"https://gamerant.com/feed/gaming/"
],
"YoutubeUrls": [ "" ],
"DiscordWebhookUrl": "https://discord.com/api/webhooks/myhook",
"RssCheckIntervalMinutes": 3,
"EnableAutoRemove": true,
"Color": 8411391,
"DescriptionLimit": 200,
"Forum": true
}
]
}

Judging by #11, the Forum parameter needs to be false for a normal text channel. Testing this right now myself

Судячи з #11 , для нормального текстового каналу параметр Forum має бути false. Тестую це прямо зараз на собі

Thank you! It works!


Various bug fixes found during implementation.

Updated the request class to include the reply in the guzzle request.
Also changed the validate method on SMSMessage to include the reply in the validation.
Fixed incorrect variable name.

Hello! Thanks for supporting txtNation! Please change the reply variable to an integer (1 or 0, default 0) rather than a boolean, resubmit your pull request and I'll merge it in.


add cluster_url to alert

we need to use the policy to deploy the alerts due to we want to add the cluster_url to the alert as the label.
Signed-off-by: Song Song Li<EMAIL_ADDRESS>

/hold

/unhold


Update README.markdown

Added the hint to load the profile before doing the `command -v nvm

Thanks for your contribution! If you have to manually source nvm, then it wasn't installed properly - so this step explicitly should not be included in the verification instructions. (Note that after installation, the script already tells you to restart your terminal)
Sorry if that wasn't clear before.

Hmmm. Liked I said, does it mean that my nvm is not installed properly? It seems to work though.
Litlle precision, I am on OSX, so maybe concerned by this:
Note: On OSX, if you get nvm: command not found after running the install script, your system may not have a [.bash_profile file] where the command is set up. Simple create one with touch ~/.bash_profile and run the install script again.

I piped into zsh, and my ~/.zshrc existed.
I had the command not found, so I just source ~/.zshrc and all was fine (using nvm now).
So either my nvm is not installed properly but I still can use it, or on OSX (El Captain), people just need to source for some reasons.

so, first, the install script must only be piped into bash. second, zsh should be sourcing ~/.zshrc for you - did you restart your terminal after running the script?

Hmmm ok, I though this line The script clones the nvm repository to ~/.nvm and adds the source line to your profile (~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc). was somewhat trying to say "pipe into bash or zsh".
I did not need to restart my terminal because I sourced, but by restarting it now, it still works.
So nevermind I guess! It seems I just did not follow the guidelines :)


Add debian package

After this you can update the README file to explain examples.

Thank you for the PR!


ARTEMIS-2911 DB2 isn't replacing Blob data

@clebertsuconic Please wait the CI results please :)

@franz1981 you mean the CI on the PR.. or a complete CI test run. you're running somewhere?


Abandoned?

Unable to use this component (ver. 11.0.4m Angular: 14.0.2):
'TreeModule' does not appear to be an NgModule class.(-996002)
angular-tree-component.module.d.ts(31, 44): This likely means that the library (@circlon/angular-tree-component) which declares TreeModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.
Many issues are unaddressed.  Is this project abandoned?

I believe this project is abandoned. The Slack channel also has people asking if the project is dead, and there's no word from maintainers. But I'm just a user of this package and not part of Circlon.


Fails to run

Manjaro ARM Arm64 Raspberry pi 4
`(sl) [corey@manjaro-pi steamlink]$ steamlink
Traceback (most recent call last):
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 583, in _build_master
ws.require(requires)
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Jinja2 2.10 (/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/Jinja2-2.10-py3.8.egg), Requirement.parse('jinja2>=2.10.1'), {'aiohttp-jinja2'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/corey/stuff/steamlink/sl/bin/steamlink", line 6, in
from pkg_resources import load_entry_point
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 3251, in
def _initialize_master_working_set():
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 3234, in _call_aside
f(*args, **kwargs)
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 3263, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 585, in _build_master
return cls._build_from_requirements(requires)
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 598, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/pkg_resources/init.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Jinja2 2.10 (/home/corey/stuff/steamlink/sl/lib/python3.8/site-packages/Jinja2-2.10-py3.8.egg), Requirement.parse('jinja2>=2.10.1'), {'aiohttp-jinja2'})`

Same problem on Debian 10


Basic Sign up Form with Autoform, collection-2, simple-schema

Hi there,
Below is the link of app I tried to create with these above packages.
https://github.com/joejeet/test-autoform
I went through lot of issues and other blogs, but in everywhere there is not simple straight example to this.
All above the packages work perfectly for normal collection but the problem occur when you use it for Meteor.users collection. I'm using meteor accounts-password package which requires you to set the fields in certain manner (they have not documented it well) which just makes it difficult to set the schema. For eg:
Schema.UserProfile = new SimpleSchema({
  firstName: {
    type: String,
    regEx: /^[a-zA-Z-]{2,25}$/,
    optional: true
  },
  lastName: {
    type: String,
    regEx: /^[a-zA-Z]{2,25}$/,
    optional: true
  },
  phone: {
    type: String,
    optional: true
  },
  role: {
    type: String,
    optional: true
  }
})

Schema.User = new SimpleSchema({
  email: {
    type: String,
    regEx: SimpleSchema.RegEx.Email,
    label: "Email",
    custom: function() {
      if (Meteor.isClient && this.isSet) {
        return Meteor.call('/accounts/is_email_uniq', this.value, function(error, result) {
          if (!result) {
            console.log('emailNotFound')
            return 'emailNotFound';
          }
        });
      }
    }
  },
  password: {
    type: String,
    label: "Password",
    min: 6
  },
  passwordConfirmation: {
    type: String,
    min: 6,
    label: "Password Confirmation",
    custom: function() {
      if (this.value !== this.field('password').value) {
        return "passwordMissmatch";
      }
    }
  },
  profile: {
      type: Schema.UserProfile
  },
  services: {
      type: Object,
      optional: true,
      blackbox: false
  }
});

/* Attach schema to Meteor.users collection */
Meteor.users.attachSchema(Schema.User);

And SignUp template like this:
<template name="signUp">
  {{ #autoForm collection="Meteor.users" id="signUp"}}
    {{> afQuickField name='profile.role' type="hidden" value="candidate"}}
    {{> afQuickField name='profile.firstName' placeholder="First Name" label-class="sr-only" }}
    {{> afQuickField name='profile.lastName' placeholder="Last Name" label-class="sr-only"}}
    {{> afQuickField name='email' placeholder="Email" label-class="sr-only"}}
    {{> afQuickField name='password' type="password" placeholder="Password" label-class="sr-only" }}
    {{> afQuickField name='passwordConfirmation' type="password" placeholder="Password Confirmation" label-class="sr-only"}}
    <input type="submit" value="Sign up">
  {{ /autoForm }}
</template>

If i tried creating this it will cause an error for email as it doesn't match the way accounts-password  package is excepting email field. And if you change the schema according to below for email. It represents email as array field.( To which I don't understand how to best represent in signup form as text field rather an array)
 emails: {
        type: [Object],
        // this must be optional if you also use other login services like facebook,
        // but if you use only accounts-password, then it can be required
        optional: true
    },
    "emails.$.address": {
        type: String,
        regEx: SimpleSchema.RegEx.Email
    },
    "emails.$.verified": {
        type: Boolean
    }

Try using the following:
 {{> afQuickField name="emails.0.address" placeholder="Email" label-class="sr-only"}}
The emails property of the name scheme is an array when using meteor accounts.

Have you found any workaround for this?


[BUG] Does Not Work With Node 16 or 18

Environment

chrome-aws-lambda Version: latest
puppeteer / puppeteer-core Version:
OS:
Node.js Version: 16.x and 16.x
Lambda / GCF Runtime: Lambda nodejs16.x / nodejs18.x

Expected Behavior
Current Behavior
Not supported in Node 16 or Node 18
Error Stack
INFO	Error: Failed to launch the browser process!/tmp/chromium: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
at onClose (/var/task/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:197:20)
at Interface. (/var/task/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:187:68)
at Interface.emit (node:events:526:35)
at Interface.close (node:internal/readline/interface:533:10)
at Socket.onend (node:internal/readline/interface:259:10)
at Socket.emit (node:events:526:35)
at endReadableNT (node:internal/streams/readable:1359:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) |
-- | --
Possible Solution

yes getting same issue

https://github.com/alixaxel/chrome-aws-lambda/issues/282

getting same issue

Any update planned?

I am getting Error: spawn ETXTBSY such error while i am calling url using chromium library. Below is my code where i am getting such error. I have also checked for closing the connection of browser, it is already there in code but i am still getting this error.
const browser = await chromium.puppeteer.launch({
args: ['--start-maximized', '--ignore-certificate-errors','--no-sandbox'],
ignoreHTTPSErrors: true,
headless:true,
executablePath: await chromium.executablePath,
defaultViewport
});

Use @sparticuz/chromium

@sparticuz/chromium

still getting same error after using @sparticuz/chromium

Using this @sparticuz/chromium also getting same error. Could you please let me know any other solution for this.

@vsateesh86 Same on my side!
@talaikis I switched to @sparticuz/chromium, but after launching the browser the rest of the code is not exectuted as expected. The lambda runs into a timeout even though it is set to 60 seconds. When I used "chrome-aws-lambda" the code was working as expected. Any idea what might cause this?

@8maxxam8 Which version of chrome-aws-lamda and puppeteer core you are using in the node20 runtime?

@sripraveens yes I am using node20 runtime!

Sorry I meant, which version you of chrome-aws-lamda and puppeteer core you are using?
Because I was using the later version in node v14, now since v14 is not supported in lamda, In v20 this is not working for me


Convert peer to use new openblockchain/baseimage docker image

Fixes issue #741.  Requires https://github.com/openblockchain/obc-dev-env/pull/49
Signed-off-by: Greg Haskins<EMAIL_ADDRESS>

@srderson @jeffgarratt @jyellick @muralisrini

I can confirm that combined with pull request https://github.com/openblockchain/obc-dev-env/pull/49
All go tests pass.
All behave tests pass.
Would love to hear confirmation from @jeffgarratt @srderson or @muralisrini, but I'm comfortable merging this after the obc-dev-env pull request.

Who, or what organization is going to provide and maintain the Docker openblockchain/baseimage image? If IBM, have the legal issues been resolved? Is this person/organization also willing to sponsor base images for POWER and Z?

@bcbrock As we discussed last week f2f, the current proposal is as follows:
Regarding ownership:

currently both IBM and myself (LSEG) have administrative rights to the repositories and may push images.  This arrangement is largely a function of it was myself who proposed/created the repositories initially and then subsequently granted IBM ownership/administrative rights.
I consider IBM/OBC community authoritative on the repository and only update the repository in strict accordance with agreement/sign-off with the OBC project gatekeepers.
I only retain administrative rights as a convenience to the OBC community for as long as the OBC governance wishes me to remain in this role.

Regarding legal issues:
IANAL, but the current repositories only contain upstream FOSS using standard practices accepted within the ecosystem (Vagrant/Docker) so I can't imagine there are many issues to resolve w.r.t. the legality of the repositories themselves.  I imagine the bigger issue is from the OBC community itself w.r.t. who or what is perceived to be in charge of the repository carrying an openblockchain trademark type thing.
Regarding this, I personally don't see even the repository governance as a big deal:  if someone wants to they may simply fork the OBC code and point it at an alternate location.  I am open to suggestion for alternate strategies.
Regarding POWER/Z:
I don't personally have a problem with this especially if we can automate their generation with the tooling. As mentioned above, I would look to approval from the OBC community before taking such a step.

Superseded by PR #922


:ghost: git ignore vendor folder

minor .gitignore change

-> added better description

Can you explain the motivation for this change? We don't vendor dependencies in this project, are you trying to locally?

Some tooling does work better if you go mod vendor a golang prohect first ...
... but as you mention you dont vendor this files in git, so it should be ignored to not interfear

@spencerschrock ☝ ?


Mina Daemon crashed

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/MinaProtocol/mina/issues
[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/MinaProtocol/mina/discussions

Summary
Hi there!
I'm a little new to mina and it asked me to submit a crash report. :-)
Please advise.
For your info I was running the command below in Docker CLI
mina daemon --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt --generate-genesis-proof true
☠ Mina Daemon crashed.
The Mina Protocol developers would like to know why!
For your info I manage to get the Synched status few days back until the Daemon freeze(hang) after running for few hours. Attached are the log files
coda_crash_report_2021-11-02_13-46-32.241904.tar.gz
.
Steps to replicate this Issue

Run the docker images (of previously working image that have synched status)
the command below in Docker CLI
mina daemon --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt --generate-genesis-proof true

Console output
☠  Mina Daemon crashed.
   The Mina Protocol developers would like to know why!

    Please:
      Open an issue:
        <https://github.com/MinaProtocol/mina/issues/new>

      Briefly describe what you were doing and attach the crash report /root/.mina-config/coda_crash_report_2021-11-02_13-46-32.241904.tar.gz

Platform
docker ubuntu 18.04 running on windows
Build link(s)
Sorry I'm not sure about the CI's URL.
Can guide me how to get the info?

The crash report says there's no file /etc/localtime. It also suggests you're running on Windows Subsystem for Linux, maybe that file doesn't exist there.
We haven't really tested Mina in WSL, if that's the case.


warn users when they upload a scanned PDF

we can detect this pretty easily and would save us (let alone our users) a lot of time

I mainly use Tabula with documents that have been scanned and OCRed. It usually works pretty well and I am very grateful for that.  As a user, a generic warning that my document is a scan would not be very helpful. What would be really useful instead is to have a hint as to why it's not working when it's not (is it that no text elements are found, is it that they don't seem to line up into columns, or is it something else?).

@dowcet: Thanks for adding your opinion, this really helpful. (And I'm glad to hear you're successful with OCR + Tabula -- may I ask which OCR program you're using? People ask all the time and I rarely have a good suggestion.)
I should have been clearer in this ticket. The only way we know if a PDF is scanned is if it hasn't been OCRed, ergo it doesn't have any text elements. The warning, as implemented in our hopefully-soon-to-be-released beta, says:
Sorry, your PDF file is image-based; it does not have any embedded text. It might have been scanned... Tabula isn't able to extract any data from image-based PDFs. (Though you can try OCRing the PDF with a tool like Tesseract and then trying Tabula again.)

Does that sound like it's clear enough to you?
Unfortunately, there's not a good way for Tabula to tell you why an extraction isn't working. Tabula only knows about the text elements and lines on the page and does its best to reconstruct the table. It doesn't really have any way of knowing* if what comes out is nonsense or not. I suppose what would be possible is a note saying something like "Tabula detected 5 rows and 3 columns. If this sounds like too few columns, try the <stream/lattice, whichever is not selected> method or try excluding the headers. If it sounds like too many rows (and you're using the stream method), try the lattice extraction method... etc." I'm hesitant because I think that this would be a bit too complex for casual users who don't want to learn the inner workings of Tabula -- but I'd love to hear what you think!

We've thought about, but rejected, the idea of baking in some intelligence about what data cells "ought to" look like and using that to make decisions. This would be probabilistic, something along the lines of saying a table is more likely to be properly extracted if

there are a lot of cells containing only numbers and a maximum of one period or comma
there are very few capital letters immediately following lowercase letters.
many whitespace-delimited strings are valid words in some set of common languages (English, Spanish for us).
columns tend to contain the same kind of data (things that look like integers or things that look like numbers to 2 digits of decimal precision or alphabetic strings less than 100 characters long)
Unfortunately, this sort of "intelligence" would be wrong pretty often and would probably make us even more wrong in edge cases like non-English, non-Spanish documents or documents containing phone numbers like<PHONE_NUMBER> or dates like 12.13.2015 that look sort of like spuriously-combined numeric cells. Plus it'd be complex.

Would love to hear your thoughts!

may I ask which OCR program you're using?

Most of the files I've used successfully in Tabula were OCRed with Adobe Acrobat Pro in Windows. The only easy way I've found to embed text in scanned PDFs in Linux is with Pdfsandwich, a wrapper for Tesseract. But Teserract's fonts are broken and I'm not sure if Tabula can handle them or not. I will test this and open a separate issue if I find Tabula consistently fails.

Does that sound like it's clear enough to you?

This is great, but I would urge more precision regarding the distinction between being scanned / image-based in general and having no embedded text elements in particular. Something like this would be less confusing to me:
Sorry, your PDF file is image-based (probably scanned from paper) and does not have any embedded text for Tabula to extract.
I would just leave it at that unless you are prepared to fully address supporting OCRed documents.

I think that this would be a bit too complex for casual users who don't want to learn the inner workings of Tabula

That makes sense. But something along the lines of an optional verbose mode might be helpful.
With the "intelligent" approach... if it actually works a lot better some of the time but worse most of the time, it could be an option, just like the "spreadsheet mode" is now.

Thanks for the help on both the OCR question and the warning wording question. Very useful.
The issue with the "intelligent" mode, even if we were to do as you say and make it an advanced option of some sort, is that it would need to be built! It's a nice-to-have, in any case. but if someone -- maybe you? :grinning:  -- were to implement it, I think we'd probably be happy to merge it in.


Initial commit for this module

I request the inclusion of the module corresponding to the 'step by step' tutorial about the implementation of an IoT agent related to the LoRawan protocol.

Hi @roberto-castillo
Thanks for the contribution, but I  am afraid that it doesn't think fit directly as a tutorial submodule as the repo in question is source code. Indeed the source code for the LoRaWAN IoT Agent is already correctly directly included in the FIWARE Catalogue
The LoRaWAN Getting Started Documentation is already included as an entry in the FIWARE Academy under IoT Agents.
For inclusion in the Step by Step a separate repo would be required using a deliberate tone of voice, structure and style. You need a README, a Docker-compose and a proper step-by-step description linking to the Supermarket data set. The developer shouldn’t need to configure things and any relevant database should start with complete but minimal material.
Currently I don't think the PR as-is fulfills these criteria.


Closes issue #5334

Add power term to tower
Add design to fields for tower
Add design tag values preset to high-voltage tower

@hchho Thanks for the PR! A few things:

Before we can merge the changes, you need to run npm run build, verify there are no errors, and then commit the generated files. See this comment for more info.
I'd recommend giving the PR a descriptive title so people know what it does at a glance, and then say something like "closes #5334" or "resolves #5334" in the comment. This will link the PR and the issue and let GitHub automatically close the issue when we merge.

Got it. Thanks for the feedback! I've updated my pull request with your suggestions.


HRM Cannot find name 'module'

Versions
Angular CLI: 6.0.0
Node: 8.10.0
OS: darwin x64
Angular: 6.0.0
... animations, cli, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router, service-worker

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.6.0
@angular-devkit/build-angular      0.6.0
@angular-devkit/build-ng-packagr   0.6.0
@angular-devkit/build-optimizer    0.6.0
@angular-devkit/core               0.6.0
@angular-devkit/schematics         0.6.0
@angular/pwa                       0.6.0
@ngtools/json-schema               1.1.0
@ngtools/webpack                   6.0.0
@schematics/angular                0.6.0
@schematics/update                 0.6.0
ng-packagr                         3.0.0-rc.2
rxjs                               6.1.0
typescript                         2.7.2
webpack                            4.6.0

Repro steps
main.ts
import { enableProdMode } from '@angular/core'
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'

import { AppModule } from './app/app.module'
import { environment } from 'environment'

import { hmrBootstrap } from './hmr'

if (environment.production) {
  enableProdMode()
}

const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule)

if (environment.hmr) {
  if (module['hot']) {
    hmrBootstrap(module, bootstrap)
  } else {
    console.error('HMR is not enabled for webpack-dev-server!')
    console.log('Are you using the --hmr flag for ng serve?')
  }
} else {
  bootstrap().catch(err => console.log(err))
}

Observed behavior
nps is executing `dev` : ng serve --hmr
NOTICE: Hot Module Replacement (HMR) is enabled for the dev server.
The project will still live reload when HMR is enabled,
but to take advantage of HMR additional application code is required'
(not included in an Angular CLI project by default).'
See https://webpack.js.org/guides/hot-module-replacement
for information on working with HMR for Webpack.
To disable this warning use "hmrWarning: false" under "serve" options in "angular.json".
** Angular Live Development Server is listening on localhost: 4200, open your browser on http://localhost:4200/ **

Date: 2018-05-05T16:43:05.837Z
Hash: f930bfad870d927052ea
Time: 12573ms
chunk {main} main.js, main.js.map (main) 2.14 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 708 bytes [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 30.6 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 264 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 329 kB [initial] [rendered]

ERROR in src/main.ts(16,7): error TS2304: Cannot find name 'module'.
src/main.ts(17,18): error TS2304: Cannot find name 'module'.

ℹ ｢wdm｣: Failed to compile.

Desired behavior

+1

Duplicate of https://github.com/angular/angular-cli/issues/10668

It looks like the error is in this line:
import { environment } from 'environment'
Replace it with:
import { environment } from './environments/environment';
That worked for me, In a topic related, the HRM doesn't seen to be working in Angular6, it always does the full reload page refresh.

@eikishi01
problem is in these two lines:
if (module['hot']) {
    hmrBootstrap(module, bootstrap)

I believe the fix or workaround (not sure which would be more appropriate) is to add types: ["node"] to tsconfig.app.ts

@JonnyBGod Would you mind posting your angular.json file for your project if you got HMR working? I'm pretty sure I was able to get it working as well and I'm curious if we did the same thing.

@JonnyBGod Someone has mentioned that it would work after inserting

///
at the top of main.ts. I did, and it really worked. But I don't know why.

@Singularity222 here you go:
angular.json
{
  "$schema"<EMAIL_ADDRESS>  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "app": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "app",
      "schematics": {
        "@schematics/angular:component": {
          "styleext": "scss"
        }
      },
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/app",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.app.json",
            "assets": ["src/favicon.ico", "src/assets", "src/manifest.json"],
            "styles": ["src/styles.scss"],
            "scripts": []
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "environments/environment.ts",
                  "with": "environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "serviceWorker": true
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "app:build",
            "hmrWarning": false
          },
          "configurations": {
            "hmr": {
              "hmr": true
            },
            "production": {
              "browserTarget": "app:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "app:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "styles": ["styles.scss"],
            "scripts": [],
            "assets": ["src/favicon.ico", "src/assets", "src/manifest.json"]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
            "exclude": ["**/node_modules/**"]
          }
        },
        "server": {
          "builder": "@angular-devkit/build-angular:server",
          "options": {
            "outputPath": "dist/server",
            "main": "src/main.server.ts",
            "tsConfig": "src/tsconfig.server.json"
          }
        }
      }
    },
    "app-e2e": {
      "root": "e2e/",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "app:serve"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": "e2e/tsconfig.e2e.json",
            "exclude": ["**/node_modules/**"]
          }
        }
      }
    },
    "backoffice": {
      "root": "projects/backoffice/",
      "sourceRoot": "projects/backoffice/src",
      "projectType": "application",
      "prefix": "app",
      "schematics": {
        "@schematics/angular:component": {
          "styleext": "scss"
        }
      },
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/backoffice",
            "index": "projects/backoffice/src/index.html",
            "main": "projects/backoffice/src/main.ts",
            "polyfills": "projects/backoffice/src/polyfills.ts",
            "tsConfig": "projects/backoffice/tsconfig.app.json",
            "assets": [
              "projects/backoffice/src/favicon.ico",
              "projects/backoffice/src/assets",
              "projects/backoffice/src/manifest.json"
            ],
            "styles": ["projects/backoffice/src/styles.scss"],
            "scripts": []
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "environments/environment.ts",
                  "with": "environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "serviceWorker": true
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "backoffice:build",
            "hmrWarning": false
          },
          "configurations": {
            "hmr": {
              "hmr": true
            },
            "production": {
              "browserTarget": "backoffice:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "backoffice:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "projects/backoffice/src/test.ts",
            "polyfills": "projects/backoffice/src/polyfills.ts",
            "tsConfig": "projects/backoffice/tsconfig.spec.json",
            "karmaConfig": "projects/backoffice/karma.conf.js",
            "styles": ["projects/backoffice/styles.scss"],
            "scripts": [],
            "assets": [
              "projects/backoffice/src/favicon.ico",
              "projects/backoffice/src/assets",
              "projects/backoffice/src/manifest.json"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": ["projects/backoffice/tsconfig.app.json", "projects/backoffice/tsconfig.spec.json"],
            "exclude": ["**/node_modules/**"]
          }
        }
      }
    },
    "backoffice-e2e": {
      "root": "projects/backoffice-e2e/",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "projects/backoffice-e2e/protractor.conf.js",
            "devServerTarget": "backoffice:serve"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": "projects/backoffice-e2e/tsconfig.e2e.json",
            "exclude": ["**/node_modules/**"]
          }
        }
      }
    },
    "shared": {
      "root": "projects/shared",
      "sourceRoot": "projects/shared/src",
      "projectType": "library",
      "prefix": "lib",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-ng-packagr:build",
          "options": {
            "tsConfig": "projects/shared/tsconfig.lib.json",
            "project": "projects/shared/ng-package.json"
          },
          "configurations": {
            "production": {
              "project": "projects/shared/ng-package.prod.json"
            }
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "projects/shared/src/test.ts",
            "tsConfig": "projects/shared/tsconfig.spec.json",
            "karmaConfig": "projects/shared/karma.conf.js"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": ["projects/shared/tsconfig.lib.json", "projects/shared/tsconfig.spec.json"],
            "exclude": ["**/node_modules/**"]
          }
        }
      }
    },
    "shared-web": {
      "root": "projects/shared-web",
      "sourceRoot": "projects/shared-web/src",
      "projectType": "library",
      "prefix": "lib",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-ng-packagr:build",
          "options": {
            "tsConfig": "projects/shared-web/tsconfig.lib.json",
            "project": "projects/shared-web/ng-package.json"
          },
          "configurations": {
            "production": {
              "project": "projects/shared-web/ng-package.prod.json"
            }
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "projects/shared-web/src/test.ts",
            "tsConfig": "projects/shared-web/tsconfig.spec.json",
            "karmaConfig": "projects/shared-web/karma.conf.js"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": ["projects/shared-web/tsconfig.lib.json", "projects/shared-web/tsconfig.spec.json"],
            "exclude": ["**/node_modules/**"]
          }
        }
      }
    }
  },
  "defaultProject": "app",
  "cli": {
    "warnings": {
      "typescriptMismatch": false
    }
  }
}

Had the same issue. In src/tsconfig.app.json I added
"types": [
    "node"
]

and the errors were gone.

Fixed via https://github.com/angular/angular-cli/pull/11029

Please note, still had this problem in CLI 6.1.5...regression?


lwip compile error - core2 - v1.3.1

I was interested in using this library with the core2. I am trying to run the M5liteBasic Example and am getting the following error:
Arduino: 1.8.13 (Mac OS X), Board: "M5Stack-Core2, Enabled, Default (2 x 6.5 MB app, 3.6 MB SPIFFS), 240MHz (WiFi/BT), 921600, None"
Multiple libraries were found for "SD.h" In file included from  /Users/MacUser/Documents/Arduino/libraries/ESP32_Lite_Pack_Library/examples/M5Lite/M5LiteBasic/M5LiteBasic.ino:2:0:
Used: /Users/MacUser/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.6/libraries/SD
Not used: /Applications/Arduino.app/Contents/Java/libraries/SD
/Users/MacUser/Documents/Arduino/libraries/ESP32_Lite_Pack_Library/src/M5Lite.h:13:26: fatal error: lwip\sockets.h: No such file or directory
Not used: /Users/MacUser/Documents/Arduino/libraries/SD
#include "lwip\sockets.h"
Multiple libraries were found for "WiFi.h"
^
Used: /Users/MacUser/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.6/libraries/WiFi compilation terminated.
Not used: /Applications/Arduino.app/Contents/Java/libraries/WiFi
exit status 1
Error compiling for board M5Stack-Core2.
My environment is setup per the m5stack docs quick start guide, and am able to compile and run the examples provided for the core2 from the default stack libraries.
Thank you!

sorry. Windows \ was mixed in the include path.
#include "lwip\sockets.h"

\ -> /
v1.3.2 has been released.

Fixed! Thank you for the quick response!
Tested, verified and burned to M5Stack Core2.


Question about the score function

Hi,
First thanks for the wonderful work you have done. I have a question related to the score function hoping you can help.
In the paper, you use the score function in TransE to predict the score of the triplet. From my understanding, the score function of TransE assumes the scores of positive triplets are smaller than the scores of negative triplets, which is also shown in equation 4.

However, in the implementation, you try to maximize the score of the positive triplets as shown in https://github.com/AnselCmy/MetaR/blob/47897ef0268b2c6c00e211be26a983d201e54565/trainer.py#L123-L132
and sort the candidate scores by descending in
https://github.com/AnselCmy/MetaR/blob/47897ef0268b2c6c00e211be26a983d201e54565/trainer.py#L104-L118
So I wonder which is the correct one?

Sorry, I notice that you use the negative score in https://github.com/AnselCmy/MetaR/blob/47897ef0268b2c6c00e211be26a983d201e54565/models.py#L48


Improved how posts are loaded when switching to a channel

When a channel has <60 posts, the first page of posts will be loaded. Otherwise, all posts since the last one will be loaded.
This is waiting on https://github.com/mattermost/platform/pull/5440

@hmhealey please rebase this one


Liberty bug: F5::BigIP::Device resource fails to initialize

This bug is only apparent in liberty now, but it likely exists for mitaka as well. The init for the resource of connecting to a bigip device now fails due to some change in the order the initialization is invoked. It produces the following error in the heat-engine.log:
2016-06-13 11:05:16.585 47627 ERROR oslo_messaging.rpc.dispatcher   File "/usr/lib/python2.7/site-packages/f5_heat/resources/f5_bigip_device.py", line 70, in __init__ 2016-06-13 11:05:16.585 47627 ERROR oslo_messaging.rpc.dispatcher     raise Exception('Failed to initialize BigIP object') 2016-06-13 11:05:16.585 47627 ERROR oslo_messaging.rpc.dispatcher Exception: Failed to initialize BigIP object 2016-06-13 11:05:16.585 47627 ERROR oslo_messaging.rpc.dispatcher 2016-06-13 11:05:16.588 47627 INFO oslo.messaging._drivers.impl_rabbit [req-5e42bfd2-a18f-4b42-93db-61b27d7421a8 b0155f21425e4611bb3a550d86f61730 33314ade911a47ecad5238aa48f32f32] Connecting to AMQP server on <IP_ADDRESS>:5672 2016-06-13 11:05:16.598 47627 INFO oslo.messaging._drivers.impl_rabbit [req-5e42bfd2-a18f-4b42-93db-61b27d7421a8 b0155f21425e4611bb3a550d86f61730 33314ade911a47ecad5238aa48f32f32] Connected to AMQP server on <IP_ADDRESS>:5672 2016-06-13 11:05:16.598 47627 ERROR oslo_messaging._drivers.common [req-5e42bfd2-a18f-4b42-93db-61b27d7421a8 b0155f21425e4611bb3a550d86f61730 33314ade911a47ecad5238aa48f32f32] Returning exception Failed to initialize BigIP object to caller 2016-06-13 11:05:16.599 47627 ERROR oslo_messaging._drivers.common [req-5e42bfd2-a18f-4b42-93db-61b27d7421a8 b0155f21425e4611bb3a550d86f61730 33314ade911a47ecad5238aa48f32f32] ['Traceback (most recent call last):\n', '  File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 142, in _dispatch_and_reply\n    executor_callback))\n', '  File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 186, in _dispatch\n    executor_callback)\n', '  File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 129, in _do_dispatch\n    result = func(ctxt, **new_args)\n', '  File "/usr/lib/python2.7/site-packages/osprofiler/profiler.py", line 105, in wrapper\n    return f(*args, **kwargs)\n', '  File "/usr/lib/python2.7/site-packages/heat/common/context.py", line 305, in wrapped\n    return func(self, ctx, *args, **kwargs)\n', '  File "/usr/lib/python2.7/site-packages/heat/engine/service.py", line 986, in validate_template\n    stack.validate()\n', '  File "/usr/lib/python2.7/site-packages/osprofiler/profiler.py", line 105, in wrapper\n    return f(*args, **kwargs)\n', '  File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 637, in validate\n    set(six.iterkeys(self)))\n', '  File "/usr/lib/python2.7/site-packages/six.py", line 570, in iterkeys\n    return iter(d.iterkeys(**kw))\n', '  File "/usr/lib64/python2.7/_abcoll.py", line 377, in iterkeys\n    return iter(self)\n', '  File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 529, in __iter__\n    return iter(self.resources)\n', '  File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 242, in resources\n    self.t.resource_definitions(self).items())\n', '  File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 241, in <genexpr>\n    for (name, data) in\n', '  File "/usr/lib/python2.7/site-packages/f5_heat/resources/f5_bigip_device.py", line 70, in __init__\n    raise Exception(\'Failed to initialize BigIP object\')\n', 'Exception: Failed to initialize BigIP object\n']
It can be fixed by initializing the MangementRoot in the handle_create function instead, when the stack is actually being created. By all appearances, the resource is initialized when the stack is loaded and not when it is launched, so this is only an issue when launching a stack through Horizon, but it is significant.

This will be fixed in kilo as well


Templates

Added a template section and filled it with templates.

The pdf vieweing trick might you used might be a chrome-defined spec as I can't view them on either Firefox or Safari.


Introduce a variable for lhs of assignment

Elvish does not have self-operators like +=. However, this can be compensated by having a special readonly variable that refers to the current value of the lhs of the assignment. For instance:
very-long-variable-name=(+ 10 $lhs)

Although only two characters shorter, it also makes it easier to manipulate $paths:
paths=[~/bin $@lhs /usr/sbin]

I do not think the added complexity of this proposal, both in terms of the implementation and documentation, justifies shortening statements used in relatively rare situations. At least not as proposed in the opening comment of this issue. It introduces an ad-hoc rule and means an elvish user cannot create a var named lhs.  If someone wants to augment a var such as $paths it is not an undue burden for them to use the var name in the expression on the RHS of the assignment.

I think a better argument in favour of the proposal is when the left hand side has a form like foo[(blah)], where the blah function may involve a costly computation, possibly with side effects. But of course, even this is fairly easily handled right now, so it's still not a really strong argument:
i=(blah) foo[$i] = (some-computation-involving $foo[$i])

After reading the comments, I agree with @krader1961 that this probably introduces more complexity than it's worth. Ultimately any shortcut just for the sake of shortness introduces "magic" that makes it harder for someone to understand the code.

FWIW, There are people in the fish shell community who take "DRY" (don't repeat yourself) to extreme lengths. One example is people felt quite strongly that having to type set path $path /new/dir was unacceptable since you have to specify the var name twice. I eventually threw up my arms in defeat and implemented set -a path /new/dir, and corresponding set -p for prefixing. But that didn't need to introduce any magic and the is mostly self-explanatory.

The motivation for this issue is mainly to make it easier to mutate deeply nested; consider x[deeply][nested][element] = (+ $x[deeply][nested][element] 1). In languages with augmented assignments, this can be written as x[deeply][nested][element] += 1, but that syntax presumes the existence of operators (which Elvish does not have; + is just a command). Hence the idea of getting something on par with augmented assignments by introducing a $lhs.
That said, I am not sure this is a good idea, the "magicness" is indeed a bit distasteful. Most Lisps manage fine without augmented assignments or "LHS variable", so Elvish can perhaps also live without it.

Another design idea is to support a generalized version of augmented assignment, making varname <cmd>= args... a shorthand for varname = (<cmd> varname args...), but this makes every word ending with = special, and conflicts with a few things:

When supplying an empty value for a variable to make, such as make ENV= CC=clang - which will be interpreted as make = (ENV $make CC=clang);

When supplying an empty value for options, such as cmd -o= arg, which will now be interpreted as cmd = (-o $cmd arg).

So this isn't a good idea either, at least not in this form.

Okay, the deeply nested element example is a bit more compelling. It also has some interesting wrinkles. Consider x[deeply][nested][element] = [lhs]{ put $lhs }. Legal? Apparently yes given the rules discussed so far. But it probably shouldn't be assuming the replacement is not done in the lambda argument list but is done in the body. Or, perhaps lambdas represent a special-case that inhibits the LHS mechanism. Now you've got a special-case that has to be documented and will cause confusion.
Counter-proposal: What about making it possible on the RHS to indicate that a var being used should also be updated with the output of the command? Something like + 17 $=x[deeply][nested][element]. I'm not a fan of this approach because it tends to make people want to add more and more magic modifiers of a var dereference. C.f., bash, ksh, zsh. On the other hand Xiaq has good design sensibilities so that seems unlikely to happen.

some basic metaprogramming features would be nice for this.

A likely misunderstanding of the latest comment by @krader1961 made me think. What if we introduced a new assignment syntax with new semantics? For the syntax, an infix operator like := or perhaps even <= to strongly signal that something unusual is going on, and for the semantics, on the right you put a lambda which is fed the old value and then produces the new value. For example to increment a value:
x[deeply][nested][element] <= [old]{ + $old 1 }

@hanche I think what you proposed is the most sensible version so far, if slightly verbose. Moreover, a special mutate command would look cleaner:
mutate x[deeply][nested][element] [old]{ + $old 1 }

In fact, such a command can be more than syntactical sugar, it can function as an atomic mutation command and solve the problem of #888.

Closing this one as the original use case is now addressed in #1003.


[BUG] Volume UI displays only the last backup when using the recurring job

Describe the bug
Volume UI is displaying only the last backup
To Reproduce
Steps to reproduce the behavior:

Create a backup recurring job with retain >= 2, and a group
Associate this recurring job group to some volume
Wait for 2 or 3 backups be performed
See that volume UI displays only the last backup. Screenshots below.

Expected behavior
Volume UI displays 2 or more backups, within retain range.
Log
Environment:

Longhorn version:  1.2.0
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Rancher Catalog App
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: RKE v1.20.9

Number of management node in the cluster: 3
Number of worker node in the cluster: 8

Node config

OS type and version: Ubuntu 20.04.3 LTS   kernel 5.4.0-84-generic
CPU per node: 4
Memory per node: 16 GB
Disk type(e.g. SSD/NVMe): SSD
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): VMWare
Number of Longhorn volumes in the cluster: 23

Additional context
Wrong behaviour:

Wrong behaviour:

Right behaviour:

@smallteeths Do you know if the snapshot chain graph and the table of the snapshot are getting data from the same source? We are wondering if this problem is because of UI parsing the timestamp differently or if we need to fix from backend.

@PhanLe1010 as far I can tell, there is only one source, because I have only one minio backup server configured on Longhorn settings.

Thanks @mfbrj ! Sorry! My bad! the above comment was supposed for this issue https://github.com/longhorn/longhorn/issues/2994 😂
For this issue, we will try to see if we can reproduce it in lab first

@PhanLe1010 ok. I was suspicious that it was about the other issue, because of mention of the timestamp.

For each recurring backup job, Longhorn will retain the last snapshot created by this job after each backup creation is complete:
https://github.com/longhorn/longhorn-manager/blob/e4be7bebf46ce43e06e3d5ca882f6fda21588afd/app/recurring_job.go#L535-L543
This may work as expected. @PhanLe1010 Can you double-check this feature?

@shuo-wu
Why not to get the backup info from the same source of Backup tab? In the Backup tab, the info is consistent and correct.

Thanks @shuo-wu. I just tried the provided reproducing steps and look at the code. Yeah, this is working as expected.
@mfbrj The snapshot chain in the volume details page show all existing snapshots of a volume (not all existing backups). If a snapshot has corresponding backup, the color of the snapshot changed to green. Users need to head to backup tap to see all existing backups.

Ok @PhanLe1010 but why the chain displays only the last backup, even if there are other snapshots with corresponding backup?
The chain should display all valid snapshots that have backups, to make easy the restore process in maintenance mode from UI.

Okay, after discuss internally, we should improve this to make the Snapshots and Backups list chain inside the Volume page consistent with the Backup page.

We'll fix it on the backend side.

Validating in progress,
testing with 1.2.x-head images,
No problem when the snapshot is taking after a backup,

Validation - Passed
Verified with master-head images.
Behavior expectations:

Backup creating from Volume page will be shown in the S/B(Snapshot and Backup) chain.
Backup deleted in backup page will be removed from the S/B chain
Snapshot taking in volume detail page will be display correctly.

Example of a volume with 4 backups:

The S/B chain:

The S/B list:

The backup volume page:

@kaxing Did you also test the backups done by Recurring Jobs?

Hey @mfbrj thanks for the reminder. I did a quick test and the full list of backup items didn't show up in the list.
Only the first and the last backup from the RecurringJobs were being display in the S/B list and the chain inside the volume detail page.

Sorting out items and actions that can display in Snapshot and Backup chain:

snapshot by button
snapshot by recurring job → display as expected
backup by button(in-volume)
backup by button(volume ui)
backup by recurring job ← Will not be consistent with Backup page or Backup CR

@jenting I am discussing with @smallteeths but so far there isn't a concrete direction yet, but by using recurringjobs for backup action with less than 5mins you can easily reproduce this.
cc @PhanLe1010 @shuo-wu

Looking at the data returned by the /v1/volumes/empty1?action=snapshotList from the backend, it does appear that the backup data is missing compared to v1/backupvolumes/empty1?action=backupList. I'm not sure what caused it. @jenting

Not sure which endpoint UI used to display the Snapshot and Backup chain.
The

/v1/volumes/empty1?action=snapshotList is for snapshot list
/v1/backupvolumes/empty1?action=backupList is for backup list

@kaxing I think it's the expected behaviour according to Shou's comment https://github.com/longhorn/longhorn/issues/2997#issuecomment-922623824
I'm thinking how to make the user experience more better cc @PhanLe1010

I think we need to revisit the original issue #2231 that we should not remove the snapshot after the backup succeeded automatically, and consider adding a new setting on the recurring job that allows the user to set up delete snapshot after the backup succeeded.
After that, the snapshots created by the recurring job will all show in the snapshots and backups. This makes the UX better from my point of view.

Moving back to backlog since the PR does not fix this issue.

Hey @mfbrj just give you an update from my discussion with devs, that the current behavior of Recurring Backup Jobs as mentioned a few times in the thread above, it will only keep last snapshot, therefore only last backup managed by the Recurring Jobs will be display in the S/B chain. The current change fixes the other issue you reported, I will check again on that one.

Can base on this suggestion, https://github.com/longhorn/longhorn/issues/2997#issuecomment-987716072 has a setting to allow users to enable/disable snapshot auto-deletion after recurring backup job and it will be enabled by default for backward compatibility.

just created it, https://github.com/longhorn/longhorn-manager/pull/1965

This has a new setting introduced and no immediate need to fix it in the maintained release branches, so decided to not backport this to 1.5.x and 1.4.x.

Verified on master-head 20231213

longhorn master-head https://github.com/longhorn/longhorn/commit/97e8c77229a77e19a1f832017d3b2c4006610224
longhorn-manager master-head https://github.com/longhorn/longhorn-manager/commit/27101bb1ad4c287d2957003b51189da6ffa74cff

The test steps
https://github.com/longhorn/longhorn/issues/2997#issuecomment-1582134564

Install Longhorn.

Disable the setting auto-cleanup-recurring-job-backup-snapshot.

Create a volume with a recurring backup job that contains 3 retain backups.

After the recurring job is completed, there are 3 snapshots for the 3 retain backups, which can be obtained using the commands: kubectl -n longhorn-system get backup and kubectl -n longhorn-system get snapshot.

Enable the setting auto-cleanup-recurring-job-backup-snapshot.

After a new recurring job is completed, there is only one snapshot for the last backup retain.

Result Passed

Manual tests have been successfully
requir/doc : https://github.com/longhorn/website/pull/730


Add ability to set max calls across all sessions

/azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests

It looks like a lot of the flakiness around the session concurrency tests is related to how we were implementing the "fake" cancellation support. Now that the AMQP lib has been updated to have real cancellation token support, I've updated the OpenLink flows to use it. I've created an issue to track the rest of the updates that are needed - https://github.com/Azure/azure-sdk-for-net/issues/23333

/azp run net - servicebus - tests

/azp run net - servicebus - tests

Thanks for doing this work @JoshLove-msft. While it's on hold for now, I do think this need may resurface in the future, so it's good we validated the path forward on it.

Thanks for doing this work @JoshLove-msft. While it's on hold for now, I do think this need may resurface in the future, so it's good we validated the path forward on it.

Much appreciated!


Kubernetes plugin TLS secret format sends chain certificate instead of requested public certificate

In https://github.com/Netflix/lemur/blob/master/lemur/plugins/lemur_kubernetes/plugin.py#L96
if secret_format == "TLS":
    secret["type"] = "kubernetes.io/tls"
        secret["data"] = {
            "tls.crt": base64encode(cert_chain),
            "tls.key": base64encode(private_key),
}

This should be "tls.crt": base64encode(body),.

Hi @dpaar, we don't use that plugin internally, and hence difficult to test. Would you mind raising a PR?

Hi @hosseinsh
Hello, we can do that. I just want to hear the opinion of @wfhartford, if he's available.
regards
sirferl

Thanks for mentioning me here, but I have no strong opinion on this, and can't remember why I opted for the chain rather than just the cert. After implementing the changes for Kubernetes, I ended up going a different way for our certificate management so changes here won't hurt me.

@wfhartford : Thank you for the response.
We will proceed with the PR.
If I may ask: what did you end up with for managing certificates ?

I can't remember why exactly I decided to move away from Lemur, which probably could have satisfied both of my use cases, but I ended up using cert-manager for my publicly trusted certs and a very small and specialised program written in go for my internal CAs.

@wfhartford : thanks for the update.

Merged the PR.


Is it possible to populate a dropdown in the custom build step UI with some values based on another dropdown choice?

Here is the scenario: I have added a generic service endpoint, and my build step contains a field of that type. There's another multilist field, which I'd like to populate with some values depending on the service endpoint selected in the first field.
Is this possible? Is this UI capable to populate the contents of the dropdown on the fly based on another field value? If yes, where should the code for this be placed? I would appreciate a super simple example.
Thanks!

Hi,
Yes, this is possible. Do look at the DeployAzureResourceGroup task, to understand about picklist input and its corresponding source definition:
https://github.com/Microsoft/vso-agent-tasks/blob/master/Tasks/DeployAzureResourceGroup/task.json
Also, look at this thread for some more info:
https://github.com/Microsoft/vso-agent-tasks/issues/667
If you have some specific issues, we can discuss them here.

Great, thank you! This gives me enough information to play with my custom service. I'll get back in case I have any unexpected obstacles. Thanks again for your answer!

Sorry for not getting back earlier on this. I investigated the samples you posted, and the mechanism is clear in general. However, I still can't make it work...
Instead of throwing the entire context onto you, I'd like to ask a couple of questions which I hope can give me some hint:

When I create a new generic service and fill in its fields, how are those values used? Will the username/password be automatically added as basic authentication header to the endpoint request?

Is it possible to access the attributes of the generic service from inside task.json? I mean, the Server Url I specify should be used as my endpoint URL. If that's possible, how do I reference it?

Thanks!

When I create a new generic service and fill in its fields, how are those values used? Will the username/password be automatically added as basic authentication header to the endpoint request?
Yes, the username/password is automatically added as the basic authentication header to the endpoint. You need not do anything special for it.
Is it possible to access the attributes of the generic service from inside task.json? I mean, the Server Url I specify should be used as my endpoint URL. If that's possible, how do I reference it?
This is not possible currently. Right now, you would have to specify the endpoint in the source definition and same server, when creating the generic service endpoint. Is there any specific scenario where you need it? In my opinion, the endpoint server name is generally always static and hence we didn't make a dynamic provision here.

Regarding basic authentication: that's clear, thank you!

Regarding server URL in the generic service and the endpoint: Here is my scenario. I have several TeamCity servers, running on different machines. Each server hosts a number of build projects. Each server is represented as a generic service in TFS. Now in my custom build step in vNext I would like to choose one of this generic services in the first field, and this fact should automatically populate another pickList field with the list of build projects from that server. Thus, I initially planned to place some kind of a token in the endpoint configuration, so that it gets replaced with a particular server name taken from the chosen generic service.

Anyway, I ended up authoring 2 plain edit fields, where users have to enter the URL of the TC server and the desired build project to trigger.

Apparently, most of the Microsoft VSTS related github links are broken. Even here following link gives a 404.
https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/DeployAzureResourceGroup/task.json
Would it be possible to have the correct link please?
Thank you

You can look at all the tasks at https://github.com/Microsoft/vsts-tasks/tree/master/Tasks. For Azure RG task, https://github.com/Microsoft/vsts-tasks/tree/master/Tasks/AzureResourceGroupDeploymentV2 takes you to the current latest version (V2)


KmlDataSource requires options.camera and options.canvas

There is a deprecationWarning in KmlDataSource that says an error will be thrown in  Cesium 1.21 if these values are undefined.

We should probably fix #3865 when we make this change because it causes a crash when using those properties

@tfili Make sure someone takes care of this before the release next week


Test PR

Coverage remained the same at 52.797% when pulling 61007b262f33e94a527ae1ae45ce6d43b513beba on develop into 669d6b5d84f01ff65fea9fa3888e3be2ab3860d9 on master.