text:
Horizontal Scrollbar is shown when it shouldn't be

When the HScrollBar property is set to true, it should only display the scrollbar when it is needed but it currently displays it when it is not needed (for example when there is no text in the box or the text width is less than the width of the ScintillaNet control)

What you're describing isn't a bug (or a feature that I could add) and you're not the first developer to notice that Scintilla's horizontal scrollbar works differently than say, a TextBox or RichTextBox. For performance reasons that are a bit difficult to explain, Scintilla (and ScintillaNET) takes a very lazy approach to calculating the necessity and width of the horizontal scrollbar and instead uses an assumed width.
That width is specified in the ScrollWidth property and has a default value of 2000, which will usually cause it to be displayed by default. A related property is ScrollWidthTracking which will cause the ScrollWidth property to increase when necessary, but it doesn't calculate changes which would make the horizontal scrollbar shrink or go away.
Thus, the closest you're going to get to the behavior you want is to set:
scintilla.ScrollWidth = 1;
scintilla.ScrollWidthTracking = true;

This will have the effect of hiding the horizontal scrollbar by default and expanding it as necessary. As I said though, once displayed it will never go away no matter how little text is being displayed. To do that would require constant remeasuring of the text width and a performance hit that the creators of Scintilla have chosen not to implement.
This is just one of those cases where Scintilla is different than what you expect.

authors: jacobslusser tttmack

repo: jacobslusser/ScintillaNET


text:
Accept strings containing nulls?

From what I've seen from testing on my own, the ScintillaNET control does not accept null characters in strings.
If I set the Text property to a value like "abc\0def", the control does not display anything beyond "abc".  If I open a file containing null bytes in Notepad++ and copy and paste to the ScintillaNET control, the NUL characters are replaced by spaces (0x20).
Is there a way to get ScintillaNET to work with null bytes in the content?

The native Scintilla control supports NUL characters and I thought we did also. What is probably happening is that the Text property internally uses one of the Scintilla APIs that sees NUL as the end of the string. Try another API such as AppendText or InsertText and let me know what you find.

AppendText does display the entire string, with the 0 byte displayed as NUL.
InsertText does not.  Also, copying and pasting a text block containing a null also does not preserve the null.  It is translated to a space.
Thanks for your help.

For future reference for anyone else (and myself), this boils down to how the Scintilla API is set up. In some instances it will accept C-style null-terminated strings. In others APIs, strings are length specified.
Example null-terminated APIs:

SCI_SETTEXT - which cooresponds to Text setter
SCI_INSERTTEXT - which cooresponds to InsertText

Example length specified APIs:

SCI_APPENDTEXT - which cooresponds to AppendText

There are others if anyone else wants to document them.
For loading large strings, the best (although most complicated) way is still probably Background Loading which has the benefit of being accessible from a background thread and supports null characters because it is length-based.

source: gharchive/issue

license: mit

license_type: permissive

license_source: bigquery


text:
Add input component

Just like BlockingDialogBox shows a dialogue with pure text output, a corresponding component should allow arbitrary text input from the player, and emit a signal when said text is inserted.
Hopefully, the behavior of this component should be similar, in the sense that the input for the game is blocked until the dialog is closed, and the node manages its own positioning and visibility

Done. There's a workaround for HTML5 based on window.prompt. It's ugly but it ensures the keyboard appears.
See issue: https://github.com/godotengine/godot/issues/32680

repo: jacopofar/godot-easy-dialogue

license: MIT

license_source: github-api


text:
Installation instructions link to non-existent Operator yaml

Bad Install Link
The README.md references THIS page used to install the jaeger-operator: (https://www.jaegertracing.io/docs/1.35/operator/)[https://www.jaegertracing.io/docs/1.35/operator/]
Which in turn shows this command to install the operator:
kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.35.0/jaeger-operator.yaml -n observability

Notice that this link does not resolve to anything: [kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.35.0/jaeger-operator.yaml -n observability](kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.35.0/jaeger-operator.yaml -n observability)

Duplicate https://github.com/jaegertracing/jaeger-operator/issues/1927

Yeah, the thing here is that we haven't release yet jaeger operator 1.35.0

I create an issue in the Jaeger documentation repository: https://github.com/jaegertracing/documentation/issues/580. @rubenvp8510, could you close this issue?

Closing,  moving to documentation repository

authors: frzifus iblancasa rubenvp8510 uberscott

repo: jaegertracing/jaeger-operator


text:
Add flag allow disable gzip encoding on jaeger-query

Problem
Some HTTP client cannot process gzip encoding automatically
I can't change the HTTP client behavior
Proposal
Add a flag, allow disable gzip encoding
--query.gzip    enable gzip compress (default true)

Compression is only applied if the client indicates that it wants it in the Accept-Encoding header.

@Sasasu are you facing a specific problem with that? Are you able to provide a reproducer? As @yurishkuro mentioned, the regular content negotiation should be skipping the gzip compression if the client doesn't support it, but we might have a bug somewhere.

From https://github.com/jaegertracing/jaeger/pull/1900#issuecomment-550940480:

the client is ribbon with eureka with RestTemplate(org.springframework.web.client.RestTemplate) reported by another Java developer.

I think this is RestTemplate's bug.
The HTTP client supports gzip encoding, but RestTemplate uses some readRawBody method then tries to deserialize the HTTP body to Java class.
The code is
ResponseEntity<DescribeTopologyResponse> responseEntity = this.restTemplate.exchange(url, HttpMethod.GET, entity, DescribeTopologyResponse.class, request);

this.restTemplate was initialized by spring.
The HTTP client does send Accept-Encoding: gzip.
The HTTP client support decodes gzip by using some readBody method.
But RestTemplate does not use the method which supports gzip encoding...
I think this is the Java ecosystem's problem, not jaeger or gorilla/mux's problem.

Please open a ticket with Spring to fix it. Closing this ticket.

authors: Sasasu jpkrohling yurishkuro

repo: jaegertracing/jaeger


text:
Uncrawled URLs are not logged

Hi,
I'm evaluating OSS for a possible topic-based search engine. The only limitation I have come across is that the web crawler doesn't appear to log URLS that aren't crawled (due to not matching a pattern) anywhere that I can see.
Say, for instance, you wanted to crawl all UK government websites. You could add a pattern like gov.uk/ which would get many, but some government departments may be using govwebsite.com web addresses (i.e. not in the gov.uk TLD). Links to these obviously wouldn't be crawled due to not matching the pattern. You need to add a pattern for each of such websites, but you can't do without knowing about them in the first place.
So what we would like to do is identify all the URLs that are linked to from crawled pages, but which aren't crawled automatically due to not matching a pattern. We can then look manually through them and decide which are valid topic sites and thus create patterns for them.
I've hunted through the interface, URL database, logs etc. and I can't see anywhere where you can see links that have been identified but not listed for crawling. Are such links directly or indirectly logged / recorded anywhere? If not, is there a way to do this?
Thanks
Rob

Is opensearchserver dead software now? That seems a shame. Does anyone know of anything similar being actively developed/supported?

Yup, definitely dead.

repo: jaeksoft/opensearchserver


text:
Collection Integrity

Hi jagi,
I am wondering if there is already a solution or a pattern to use onboard, to check the overall integrity of a astronomy managed collection.
Basically, I am implementing hierarchical doc trees with this parent-references pattern: https://docs.mongodb.org/manual/tutorial/model-tree-structures-with-parent-references/
In addition, every doc keeps a reference to its predecessor with a "previous" field. A tree can be represented by these entries:
{ _id: ObjectId('a'), title: 'root', parentId: null, previousId: null }
{ _id: ObjectId('b'), title: 'first child', parentId: ObjectId('a'), previousId: null }
{ _id: ObjectId('c'), title: 'second child', parentId: ObjectId('a'), previousId: ObjectId('b') }
{ _id: ObjectId('d'), title: 'third child', parentId: ObjectId('a'), previousId: ObjectId('c') }

This results in a tree structured like this:
root
  first child
  second child
  third child

Now I need a way to describe integrity rules, like:
It is not allowed to have multiple docs with the same parentId and the same previousId (unless all but one of them were softRemove'd)
Any proposal how to implement integrity rules, spanning a whole collection? Or at least a central spot to hook into document creation/update (taking into account softRemove behaviour)?
Thanks a lot! ayalpani

I think the best place for that is the beforeSave event and throw Meteor.Error if the condition is not met

Thanks, I will try that

authors: ayalpani jagi

repo: jagi/meteor-astronomy


text:
Support for observechanges?

I understand that meteor-astronomy uses the transform function to create classes and add methods, but some libraries (e.g. https://github.com/alethes/meteor-pages) use cursor.observechanges instead of cursor.find, so the transform function is never called. Is there a plan to patch this?
I would love to be able to use model methods from astronomy on my paginated pages.

Hmm in cursor.observe it's not a problem because it returns an entire document and from what I know it uses the transform function. However in cursor.observeChanged it's in deed an issue. For now what I can suggest is trying to create a class instance by your self in the callback function:
cursor.observeChanges({
  changed: function(id, fields) {
    var doc = new Post(fields);
    if (doc.validate('someField')) {
      doc.save();
    }
  }
});

It will be possible (in coming version) to validate multiple fields at once using the doc.validate(['fieldA', 'fieldB']) syntax. There are many changes to come in the next release. However, I will also add your issue to the list of the problems to fix. I will try to figure out some way of attaching into the process of changes observation.

Astronomy will not support observerChanges as there is no easy way of doing this.

authors: jagi panphora


text:
Username is inconsistent with Cognito when using UsernameAttributes

When you have a User Pool with email as a UsernameAttribute, you can create a user by specifying an email address as their Username in the admin-create-user call. In Cognito (proper) the email address is stored in the email attribute and the Username is set to a generated sub UUID; however, in Cognito Local the email address is actually set as the Username.
What happens when you create a user in a pool with email in UsernameAttributes in Cognito?

Registering without providing an email attribute, with an email as username: username is validated as an email, sub generated, username set to sub, input username set as email attribute
With email attribute that doesn’t match username = “User email should be empty or same as username, since username attribute is email”
With email attribute that matches the username, sub generated, username set to sub, email attribute set to username/email attribute (whatever, they’re the same)
With a username attribute which isn’t an email = “Username should be an email”

Open questions:

What about a pool without email as a username attribute?
What about a pool with phone number or preferred_username?
Seems to be a bug where a user gets created even if their attributes are rejected?
Email validation on creating users (user exists with email) doesn't match

Yep, and the sub attribute is immutable so attempts to change it should throw an exception.

authors: jagregory kadyrleev

repo: jagregory/cognito-local


text:
[Bug Report] Bot joins and leave

Describe the bug
All commands works, but when I try to play songs or playlist, the bot joins and then leaving instantly. I searched for similar bugs here but none of the solutions resolve my problem.
To Reproduce
Steps to reproduce the behavior:

send "!play song"
bot join
bot leave without playing anything
check console: no error

Expected behavior
works :)
Screenshots
https://ibb.co/hWRrxKW
Debug Info
System Properties:
  java.version = 11.0.9.1
  java.vm.name = OpenJDK 64-Bit Server VM
  java.vm.specification.version = 11
  java.runtime.name = OpenJDK Runtime Environment
  java.runtime.version = 11.0.9.1+1
  java.specification.version = 11
  os.arch = amd64
  os.name = Linux

JMusicBot Information:
  Version = 0.3.2
  Owner = 235476615965048832
  Prefix = !
  AltPrefix = null
  MaxSeconds = 0
  NPImages = false
  SongInStatus = false
  StayInChannel = false
  UseEval = false
  UpdateAlerts = true

Dependency Information:
  JDA Version = 4.2.0_214
  JDA-Utilities Version = 3.0.5
  Lavaplayer Version = 1.3.55

Runtime Information:
  Total Memory = 31
  Used Memory = 18

Discord Information:
  ID = 795819722313826305
  Guilds = 1
  Users = 2

Additional context
I run the bot in a docker container through Synology

There's not a lot to go on here, can you try each of the following (separately) to try to narrow down where the problem might be?

change voice region in your Discord server
use an older or oracle version of the jre
run outside of a docker container

There's not a lot to go on here, can you try each of the following (separately) to try to narrow down where the problem might be?

change voice region in your Discord server
use an older or oracle version of the jre
run outside of a docker container

chage voice region not work
run outside of a docker container it works. I run it on my windows pc
use and older or oracle version of the jre not work (i tried same as my pc: java 1.8.0_271)

chage voice region not work
run outside of a docker container it works. I run it on my windows pc
use and older or oracle version of the jre not work (i tried same as my pc: java 1.8.0_271)

I found the problem: Synology firewall. With that off I can play music, now I have to figure out which port I have to open.

I found the problem: Synology firewall. With that off I can play music, now I have to figure out which port I have to open.

The issue must be with your docker container or setup then. Unfortunately, that is out of the scope of this project unless you can provide any other info or logs.

The issue must be with your docker container or setup then. Unfortunately, that is out of the scope of this project unless you can provide any other info or logs.

Problem solved. For anyone with my problem in your Synology firewall you have to open port 443 TCP for textchat.  For voice, it is a random UDP port between 50000 - 65535

Problem solved. For anyone with my problem in your Synology firewall you have to open port 443 TCP for textchat.  For voice, it is a random UDP port between 50000 - 65535

Yes of course you need the standard tcp port for the gateway open and UDP ports for voice.

Yes of course you need the standard tcp port for the gateway open and UDP ports for voice.

authors: Sanduhr32 jagrosh logdotexe

repo: jagrosh/MusicBot


text:
Notebook connectivity issue

Can't tell if this is a sparkmagics issue.   I start livy using the helm chart attached and ran the kubectl exec example and it ran fine. Then I started the helm chart jupyter-sparkmagic after changing the values.yaml to have:
livyEndpoint: "livy.livy:80"

which is the endpoint I think needs to be referenced here (i also tried livyheadless.livy:8998, livy.livy:8998, and the corresponding cluster IP for both of those services exposed by livy, as well as the same ports in the pods directly without the services)
However in a notebook if I run:
%load_ext sparkmagic.magics
%manage_spark

to try to establish a session using that livy endpoint, I am only able to get this error:
HttpClientException: Error sending http request and maximum retry encountered.

Even though using curl and telnet I am able to access those endpoints from the jupyter-sparkmagic pod.  One strange thing is if I exec into the livy-0 pod spun up by livy and run:
livy-server status
I get that the server is not running even though the kubectl exec example worked and livy appears to be running for PID 1.

Some updates debugging manual connection to livy have sent me down a rabbit hole (sparkmagic didn't seem to have any easy ways to do so):
import json, pprint, requests, textwrap
host = 'http://100.96.14.16:8998'
headers = {'Content-Type': 'application/json'}
spark_conf = {
    "spark.kubernetes.authenticate.driver.serviceAccountName": "livy-spark"
}

data = {'kind': 'spark', 'conf': spark_conf}
r1 = requests.post(host + '/sessions', data=json.dumps(data), headers=headers)
r1.json()

>>

{'id': 35,
 'name': None,
 'appId': None,
 'owner': None,
 'proxyUser': None,
 'state': 'starting',
 'kind': 'spark',
 'appInfo': {'driverLogUrl': None,
  'sparkUiUrl': None,
  'executorLogUrls': None},
 'log': ['stdout: ', '\nstderr: ', '\nKubernetes Diagnostics: ']}

data = {
  'code': textwrap.dedent("""
    val NUM_SAMPLES = 100000;
    val count = sc.parallelize(1 to NUM_SAMPLES).map { i =>
      val x = Math.random();
      val y = Math.random();
      if (x*x + y*y < 1) 1 else 0
    }.reduce(_ + _);
    println(\"Pi is roughly \" + 4.0 * count / NUM_SAMPLES)
    """)
}

r = requests.post(statements_url, data=json.dumps(data), headers=headers)
pprint.pprint(r.json())

r = requests.get(session_url, headers=headers)
pprint.pprint(r.json())

>>

'java.lang.IllegalStateException: Session is in state starting'
{'appId': 'spark-ec26dd2ece084a27920610a43cb810c7',
 'appInfo': {'driverLogUrl': None, 'executorLogUrls': None, 'sparkUiUrl': None},
 'id': 35,
 'kind': 'spark',
 'log': ['\t\tspark-kubernetes-driver:',
         '\t\t\timage: '
         'sasnouskikh/livy-spark:0.7.0-incubating-spark_2.4.3_2.11-hadoop_3.2.0',
         '\t\t\trequests: cpu=Quantity(amount=1, format=null, '
         'additionalProperties={}), memory=Quantity(amount=1408Mi, '
         'format=null, additionalProperties={})',
         '\t\t\tlimits: memory=Quantity(amount=1408Mi, format=null, '
         'additionalProperties={})',
         '\t\t\tcommand: [] [driver, --properties-file, '
         '/opt/spark/conf/spark.properties, --class, '
         'org.apache.livy.rsc.driver.RSCDriverBootstrapper, spark-internal]',
         '\tconditions:',
         '\t\tPodCondition(lastProbeTime=null, '
         'lastTransitionTime=2020-07-08T15:08:54Z, message=null, reason=null, '
         'status=True, type=Initialized, additionalProperties={})',
         '\t\tPodCondition(lastProbeTime=null, '
         'lastTransitionTime=2020-07-08T15:08:55Z, message=null, reason=null, '
         'status=True, type=Ready, additionalProperties={})',
         '\t\tPodCondition(lastProbeTime=null, '
         'lastTransitionTime=2020-07-08T15:08:55Z, message=null, reason=null, '
         'status=True, type=ContainersReady, additionalProperties={})',
         '\t\tPodCondition(lastProbeTime=null, '
         'lastTransitionTime=2020-07-08T15:08:54Z, message=null, reason=null, '
         'status=True, type=PodScheduled, additionalProperties={})'],
 'name': None,
 'owner': None,
 'proxyUser': None,
 'state': 'starting'}

So the session will never leave starting state.  Going into kubernetes log for session I found:
2020-07-08 15:09:01,040 INFO  [pool-3-thread-1] spark.SparkContext (Logging.scala:logInfo(54)) - Added JAR file:///opt/livy/repl_2.11-jars/livy-repl_2.11-0.7.0-incubating-SNAPSHOT.jar at spark://livy-session-35-1594220933140-driver-svc.livy.svc:7078/jars/livy-repl_2.11-0.7.0-incubating-SNAPSHOT.jar with timestamp 1594220941040
2020-07-08 15:09:01,041 INFO  [pool-3-thread-1] spark.SparkContext (Logging.scala:logInfo(54)) - Added JAR file:///opt/livy/repl_2.11-jars/livy-core_2.11-0.7.0-incubating-SNAPSHOT.jar at spark://livy-session-35-1594220933140-driver-svc.livy.svc:7078/jars/livy-core_2.11-0.7.0-incubating-SNAPSHOT.jar with timestamp 1594220941041
2020-07-08 15:09:01,041 INFO  [pool-3-thread-1] spark.SparkContext (Logging.scala:logInfo(54)) - Added JAR file:///opt/livy/repl_2.11-jars/commons-codec-1.9.jar at spark://livy-session-35-1594220933140-driver-svc.livy.svc:7078/jars/commons-codec-1.9.jar with timestamp 1594220941041
2020-07-08 15:09:01,998 INFO  [kubernetes-executor-snapshots-subscribers-1] k8s.ExecutorPodsAllocator (Logging.scala:logInfo(54)) - Going to request 2 executors from Kubernetes.
2020-07-08 15:09:02,082 WARN  [OkHttp https://kubernetes.default.svc/...] internal.WatchConnectionManager (WatchConnectionManager.java:onFailure(197)) - Exec Failure: HTTP 403, Status: 403 -
java.net.ProtocolException: Expected HTTP 101 response but was '403 Forbidden'
	at okhttp3.internal.ws.RealWebSocket.checkResponse(RealWebSocket.java:228)
	at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:195)
	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
2020-07-08 15:09:02,093 WARN  [pool-3-thread-1] k8s.ExecutorPodsWatchSnapshotSource (Logging.scala:logWarning(87)) - Kubernetes client has been closed (this is expected if the application is shutting down.)
2020-07-08 15:09:02,094 ERROR [pool-3-thread-1] spark.SparkContext (Logging.scala:logError(91)) - Error initializing SparkContext.
io.fabric8.kubernetes.client.KubernetesClientException:
	at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$2.onFailure(WatchConnectionManager.java:201)
	at okhttp3.internal.ws.RealWebSocket.failWebSocket(RealWebSocket.java:570)
	at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:197)
	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Exception in thread "kubernetes-dispatcher-0" java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@16bcaca6 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@5af9178f[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]

which looks like it was returning an instances of this error:
https://stackoverflow.com/questions/57887672/expected-http-101-response-but-was-403-forbidden
So I tried adding JARS like so:
import json, pprint, requests, textwrap
host = 'http://100.96.14.16:8998'
headers = {'Content-Type': 'application/json'}
spark_conf = {
    "spark.kubernetes.authenticate.driver.serviceAccountName": "livy-spark"
}

jars = [

    "/opt/spark/jars/kubernetes-client-4.1.2.jar",
    "/opt/spark/jars/kubernetes-model-common-4.1.2.jar",
    "/opt/spark/jars/kubernetes-model-4.1.2.jar",
    "/opt/spark/jars/okhttp-3.11.0.jar",
    "/opt/spark/jars/okio-1.15.0.jar"
]

data = {'kind': 'spark', 'conf': spark_conf, 'jars': jars}
r1 = requests.post(host + '/sessions', data=json.dumps(data), headers=headers)
r1.json()

{'msg': 'requirement failed: Local path /opt/spark/jars/kubernetes-client-4.1.2.jar cannot be added to user sessions.'}

even though if I exec into the pod and run:
ls /opt/spark/jars/kubernetes-client-4.1.2.jar

it shows that it is there.   So now i'm really confused...
I'm especially confused why none of these issues showed up during the kubectl exec example.

A combination of this PR:  https://github.com/jahstreet/spark-on-kubernetes-helm/pull/36  with making sure I deployed the jupyter in the same "livy" namespace seems to allow me to submit jobs manually through Livy api, but I am still having trouble getting sparkmagics to work, getting the same error.

Following the readme more closely in jupyter-sparkmagic chart and making sure that I deploy it to the jupyter-sparkmagic namespace seems to have resolved the issue.

Haven't yet went through it, cool that you've managed to solve it on your own already. Thx for the PR and extensive debugging. I appreciate your contribution @kyprifog .

No problem, FTR, I am using just a standard notebook image derived from the docker stacks implementation, not the jupyter helm chart you provided and am able to submit jobs to livy no problem which is great! I thought there was more to your jupyter notebook image but it looks like its very similar to just a docker stacks image with sparkmagic installed which made it easy to use our existing notebook image.    I am still debugging some issues i'm having with sparkmagic however

its very similar to just a docker stacks image with sparkmagic installed

That is true indeed, the initial idea was to keep it so for easy upgrades if necessary. Probably in the future it can be derived from the fork + patch branch to make the relationships more explicit.

authors: jahstreet kyprifog

repo: jahstreet/spark-on-kubernetes-helm


text:
Use the asynicio library for scrolling display

Clicking on buttons is hard because of the sleep functions in the scrolling display.  If we use the asyncIO we could make the button presses more responsive.

AsyncIo does not appear to be implemented like a standard async await pattern, the async methods need to be added as tasks that are scheduled separate.  Not as easy to integrate as I was hoping.

I think the current method is working and after playing with not sure we will see a huge improvement. Closing


text:
Lecture 4 slide 74 typo in speaker notes

This should say "QUESTION" not "QESTION"

Yep, tidying those up. 1 point

authors: JacksonDam jakelever


text:
too hard to install on windows

can u help? 🙉
after all just...

hi @KiraSokolov
I'm not an expert on windows, but maybe you have a badly configured vhost?
see this http://stuff.cebe.cc/yii2docs/guide-start-installation.html#recommended-apache-configuration
vhost should be directed to the 'web' directory in the project, it will not be in a url then.

@KiraSokolov
I do not support windows, but if you think about linux, send me an email at pawel@jakimowski.info.

authors: KiraSokolov jakim

repo: jakim/ig-monitoring


text:
Add option to omit specific string

Example:
I have file src/foo/index.ts
And I want to get relative path for it from src/bar.ts
I want to get relative path like ./foo
In this case, /index.ts is omitted
So, this extension is amazing and I'm mind to open Pull Request for this feature.
But I need to discuss usage and api for it.
May be make it array of regs?
kinda
given
config.omit = [ /\/index.ts$/ ], and relative path src/foo/index.ts
regexp in omit config will match string: /index.ts.
And so I will just remove it from resulting relative path. Result will be src/foo
What do you think @jakob101 ?

Sounds great! :) feel free to post a PR


text:
body.split is not a function when use minify: true

Precheck

Do a quick search and make sure a bug has not yet been reported;
do a quick check if the bug still exists in the latest patch version;
finally, be nice and have fun!

Environment

clean-css version - npm ls clean-css: 2.2.23
node.js version - node -v: v6.11.3
operating system: macOS High Sierra

Configuration options
This is a browserify-css config:
module.exports = {
  autoInject: true,
  autoInjectOptions: {
    verbose: true,
    insertAt: "bottom"
  },
  inlineImages: true,
  inlineImagesOptions: {
    limit: 10000
  },
  minify: true,
  rebaseUrls: false,
  rootDir: './'
};

Input CSS
/* the shorter the better! */

Actual output CSS
When I set minify: true, it fails:
WARN: Output exceeds 32000 characters
/Users/jingsam/projects/xxx/node_modules/clean-css/lib/properties/optimizer.js:114
    var tokens = body.split(';');
                      ^

TypeError: body.split is not a function
    at tokenize (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/properties/optimizer.js:114:23)
    at Object.process (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/properties/optimizer.js:264:20)
    at optimize (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/selectors/optimizer.js:289:40)
    at Object.process (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/selectors/optimizer.js:337:7)
    at Object.optimizeSelectors (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/clean.js:371:10)
    at replace (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/clean.js:104:19)
    at CleanCSS.minify (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/clean.js:365:5)
    at Object.whenDone (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/clean.js:70:25)
    at processNext (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/imports/inliner.js:96:22)
    at Object.process (/Users/jingsam/projects/xxx/node_modules/clean-css/lib/imports/inliner.js:77:12)

Expected output CSS

@jingsam any chance of using a newer version of clean-css as 2.2.x is quite old. The code works perfectly well in 3.4.x and 4.x.

authors: jakubpawlowicz jingsam

repo: jakubpawlowicz/clean-css


text:
ffmpeg -version block

I have an issue when generating MP4 with ffmpeg.
The try/except (build.py line 143) raise an exception. I have ffmpeg installed, when I do ffmpeg -version in my terminal it works.
Commenting the try/except solved the problem and the generation ended without problems.
I'm on Windows 10 64 bits
I installed ffmpeg using choco install ffmpeg in Powershell in admin
ffmpeg -version output :
ffmpeg version 5.1.2-essentials_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers built with gcc 12.1.0 (Rev2, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband libavutil      57. 28.100 / 57. 28.100 libavcodec     59. 37.100 / 59. 37.100 libavformat    59. 27.100 / 59. 27.100 libavdevice    59.  7.100 / 59.  7.100 libavfilter     8. 44.100 /  8. 44.100 libswscale      6.  7.100 /  6.  7.100 libswresample   4.  7.100 /  4.  7.100 libpostproc    56.  6.100 / 56.  6.100

Hi @IshariFluttershy sorry for the delay, that doesn't look like an error, do the mp4 get generated correctly?

Hi !
The .mp4 generated when I removed the try/except (build.py line 143). Otherwise, it raises an exception and closes the program.

Great, so you have a workaround?

Yes

authors: IshariFluttershy jalagar

repo: jalagar/animated-art-engine


text:
Examples on how to use would be really appreciated.

I'm having a little bit of a problem to figure out how to use this. Would appreciate any demo.

@digiiitalmb I apologize for replying you late. You can refer to the usage here because it is the same in terms of usage. I'll update the demo in time. Thank you.

authors: digiiitalmb jambonn

repo: jambonn/vue-lazyload


text:
🛑 Ironbank is down

In 00c79dd, Ironbank (https://ironbank.dso.mil) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Ironbank is back up in 217a0bd after 4 minutes.

repo: james-martinez/dso-mil


text:
🛑 Ironbank is down

In 98a1019, Ironbank (https://ironbank.dso.mil) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Ironbank is back up in 68a0ec9 after 5 minutes.


text:
🛑 Registry1 is down

In 6fba281, Registry1 (https://registry1.dso.mil) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Registry1 is back up in 74b7ae2 after 5 minutes.


text:
"Don't know how to convert param type: URI"

Describe the bug
I'd like use asynchronous messaging to implement offline communication between Patient and Practitioner. Solution is based on concept described bellow:
3.4.4.1 Asynchronous Messaging using the RESTful API
It is possible to exchange messages using the RESTful end-point as a central point of exchange. This is not particularly efficient compared to other methods, but is useful for low-volume asynchronous exchange.
To send a message, a sender posts the message bundle to the /Bundle end-point, with a uri that identifies the receiver at MessageHeader.destination.endpoint. The RESTful server accepts the bundle, stores it as a single bundle, and indexes it on the MessageHeader.
To receive messages, a receiver searches for all messages destined for itself, since its last check:
GET [base]/Bundle?message.destination-uri=[rcv]&_lastUpdated=>2015-03-01T02:00:02+01:00
The receiver works through the response, processing each message. As each message is processed, the receiver creates a response message, reversing the source and destination, and posts it back to the server.
To check for responses, the original sender searches for response messages destined for itself, since its last check:
GET [base]/Bundle?message.destination-uri=[snd]&message.response-id:missing=false
&_lastUpdated=>2015-03-03T06:03:522+01:00
To Reproduce
Steps to reproduce the behavior:

POST vps.mymedic.com.pl/fhir/Bundle
{
"resourceType": "Bundle",
"id": "19203",
"meta": {
"versionId": "1",
"lastUpdated": "2018-08-13T08:25:12.840+02:00"
},
"type": "message",
"entry": [
{
"fullUrl": "http://localhost:9182/MessageHeader/19003",
"resource": {
"resourceType": "MessageHeader",
"id": "19003",
"event": {
"system": "http://example.org/fhir/message-events",
"code": "diagnosticreport-provide"
},
"destination": [
{
"endpoint": "https://vps.mymedic.com.pl/fhir/Practitioner/debb3012-01e7-4f57-afd6-95883c1f8f54"
}
],
"timestamp": "2018-08-10T11:15:33+10:00",
"source": {
"name": "Władysław Węglarz",
"contact": {
"system": "email",
"value": "wladyslaw.weglarz@telemedis.pl",
"use": "home"
},
"endpoint": "https://vps.mymedic.com.pl/Patient/d9df0576-ad4c-4a82-bfa7-993cb3420d8a"
},
"responsible": {
"reference": "https://vps.mymedic.com.pl/fhir/Practitioner/debb3012-01e7-4f57-afd6-95883c1f8f54"
},
"reason": {
"coding": [
{
"system": "https://vps.mymedic.com.pl/fhir/ValueSet/kategoriaSerwisu",
"code": "2",
"display": "e-Porada"
}
]
}
}
},
{
"fullUrl": "http://localhost:9182/QuestionnaireResponse/19002",
"resource": {
"resourceType": "QuestionnaireResponse",
"id": "19002",
"status": "completed",
"item": [
{
"linkId": "3",
"text": "Temat wiadomości:",
"answer": [
{
"valueString": "Temat wiadomosci"
}
]
},
{
"linkId": "4",
"text": "Treść wiadomości:",
"answer": [
{
"valueString": "tresc wiadomosci"
}
]
},
{
"linkId": "7",
"text": "Załączniki:",
"item": [
{
"linkId": "7.1",
"text": "WEB MyMedic-React (Nowa Rehabilitacja).postman_collection.json",
"answer": [
{
"valueString": "http://localhost:8089/upload/16835"
}
]
},
{
"linkId": "7.2",
"text": "foto.jpeg",
"answer": [
{
"valueString": "http://localhost:8089/upload/16833"
}
]
},
{
"linkId": "7.3",
"text": "foto.jpeg",
"answer": [
{
"valueString": "http://localhost:8089/upload/16834"
}
]
}
]
}
]
}
}
]
}

Receiver using GET:
vps.mymedic.com.pl/fhir/Bundle/?message.destination-uri=https://vps.mymedic.com.pl/fhir/Practitioner/debb3012-01e7-4f57-afd6-95883c1f8f54

Server returns error:
"diagnostics": "Don't know how to convert param type: URI"

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

HAPI FHIR Version  3.5.0 SNAPSHOT
OS: Ubuntu 16.04.4  LTS
Browser chrome 68.0.3440.106 64 bits
Postgres 9.6

Additional context
And second problem when i POST
vps.mymedic.com.pl/fhir/$process-message?async=true
I receive :
"diagnostics": "Invalid request: The FHIR endpoint on this server does not know how to handle POST operation[$process-message] with parameters [[async]]"
My question is "HAPI FHIR versio 3.5.9 SNAPSHOT has'nt implementation operation $process-message ?
Please help me

mymedic.log
It contains:
2018-08-13 19:20:52.628 ERROR c.u.f.r.s.i.ExceptionHandlingInterceptor Failure during REST processing
ca.uhn.fhir.rest.server.exceptions.InternalErrorException: Don't know how to convert param type: URI

I attached  server's log

repo: jamesagnew/hapi-fhir


text:
Unable to load styled component styles at the end of the

I was importing couple of components from @rmwc (Button, CheckBox, Radio). Few component css files are loading before styled component styles and few other components are loading after the styled component styles.

This issue has nothing to do with RMWC. This depends on your build system and how it’s loading the CSS files. The behavior is also likely different in development vs production. What are you using?

I was using webpack and it is development build

I have two repositories, One repository which has all the common components and the other repository uses these common components by importing them
I have used npm link to import common code to to current project(The screenshot above refers). The style tags which you see above and below styled component tag are coming from my common repository
Following is my webpack file for common repository
webpack.config.js.zip

I think this is a better question for stack overflow. Again this is not RMWC specific, you would run into this issue with any project where you’re loading styles.

repo: jamesmfriedman/rmwc


text:
Custom Object Rollup Logger Plugin missing "Is Rollup Logging Enabled?"

I've installed the rollup logger plugin and was following the instructions, however I am not seeing the "Is Rollup Logging Enabled?" option.

This is toggled on the Rollup Control record!

This is toggled on the Rollup Control record!

D'oh, thanks! 🤦

authors: adepew jamessimone

repo: jamessimone/apex-rollup


text:
Todoist Plugin Error

Describe the bug
Just this morning, the Todoist plugin stopped displaying my tasks and shows an error message (see screenshot.)
To Reproduce
Steps to reproduce the behavior:

Insert a todoist task codeblock
switch to reading mode

Expected behavior
I expect the Todoist task list to appear (and it always has, until this morning.) I have made no recent changes to Obsidian or my vault.
Screenshots
Todoist Plugin Module:

Console:

Desktop (please complete the following information):

Plugin Version: 1.9.0
Obsidian Version 0.16.3

Additional context
This just started out of the blue. No changes to my vault since yesterday, and the Todoist plugin was working fine at that time.

Just wanted to update you on this. I uninstalled the plugin from Obsidian and reinstalled, but the issue did not change. Additionally, I created a new Todoist API and entered that into the plugin settings, but no change.
Thanks

I am also experiencing this issue. Any solutions? Is there a plan to update to Todoist v2?

@NaturallyAsh, @micwaab can you try the latest release v1.10.0?
This contains the update to the REST API v2, which may fix this issue :smile:

@jamiebrynes7 It works! Thanks mate!

Thanks! Looks to be working again. Appreciate the notice!

Sadly, this issue started again this morning.

authors: NaturallyAsh jamiebrynes7 micwaab


text:
Connect function similar to Redux

A simple HOC that inscribes in a container very similar to Redux.
Example:
class HomePage extends Component {
  render() {
    const { CounterContainer } = this.props

    return (

        {CounterContainer.state.count}
        <button onClick={CounterContainer.decrement}>-</button>
        <button onClick={CounterContainer.increment}>+</button>

    )
  }
}

export default Connect([CounterContainer])(HomePage)

What do you think? If you accept this change I will put in the documentation in README.

No, I think higher order components are a bad paradigm that only should exist when you absolutely need them. I expect the React team to make the experience with them better with some new APIs they've been teasing to reveal at ReactConf.

But they are widely used by the community and would make the subscription in the containers much simpler with only one line.

Not everything the community does is a good idea. The react community does tons and tons of things that are just complete crap. Don't do something just because it's popular

And you think render props is the most elegant solution? 🤔 🤔

@httpiago no, but hooks might be a better solution :) https://github.com/jamiebuilds/unstated/pull/64

I saw this pull request, I liked it and I will use, but the classes will have to continue using the ugly version with render props.

source: gharchive/pull-request

authors: httpiago jamiebuilds paul-phan

repo: jamiebuilds/unstated


text:
First test always fails

I'm playing around testing a UI and the first test seems to always fail when trying to find the first UI element. All subsequent tests pass finding the element that the first one couldn't. For a few runs I was able to work around it by opening the browser and loading the page myself then running the tests but that no longer seems to work. I also added an assertion to see if the element exists before matching it up with a variable and that doesn't help. Is anyone else experiencing this?

Could it be a timing issue? Do you need to wait for an element to become available before performing an assertion? For example:
actor.attemptsTo(
    Wait.until(Some_Target, Is.present()),
);

Here are some examples you might find useful.
If that doesn't help, could you please create a simple example demonstrating the issue using one of the project seeds? (cucumber, mocha.
Thanks!
Jan

Sorry for the delayed response that worked perfectly! Thank you

repo: jan-molak/serenity-js


text:
Issues while migrating to Serenity 2.0

Hi,
We have been using serenity1.0 for some time. But now, as we try to migrate to serenity2.0, we tried to execute the project at https://github.com/jan-molak/serenity-js/tree/2.0/examples/protractor-cucumber. However, the node modules are getting partially installed and during execution we are being thrown the following errors:
Errors:
[test:update-serenity] > serenity-bdd update --ignoreSSL
[test:update-serenity]
[test:update-serenity] I'm terribly sorry, but something didn't go according to plan.
[test:update-serenity] Cannot read property 'to' of undefined
[failsafe] Script 'test:update-serenity' exited with code 0
----------------------------------------------------------------------------------------------------
[test:report] > serenity-bdd run
[test:report]
[test:report] I'm terribly sorry, but something didn't go according to plan.
[test:report] I couldn't access the Serenity BDD CLI at node_modules/@serenity-js/cache/serenity-cli-2.1.9-all.jar. Did you remember to run `serenity-bdd update`?
[failsafe] Script 'test:report' exited with code 0

Can we have the dependencies required for cucumber-protractor projects? @jan-molak  @serenity-js/cucumber

Hi @akshayadesh,
Could you please elaborate a bit more on what you mean by node modules are getting partially installed? The error you're seeing is most likely related to the dependencies not being available at runtime.
Since the repo you have cloned is a mono-repo, it means that it contains both the Serenity/JS source code as well as the examples.
Basically, you can run the examples in 2 ways:
Nice'n'easy
This approach is great if you want to simply run the examples using the latest version of Serenity/JS as published to npmjs.com and avoid having to compile the framework itself (most cases):
git clone https://github.com/jan-molak/serenity-js.git
cd serenity-js
git checkout 2.0
cd examples/protractor-cucumber
npm install
npm test

Advanced
This approach should be used if you're planning to contribute changes to Serenity/JS itself and would like to check if the changes you've made to Serenity/JS still work with the examples. With this approach you'd be using make clean verify which recompiles and tests the Serenity/JS itself.
git clone https://github.com/jan-molak/serenity-js.git
cd serenity-js
git checkout 2.0
npm install
make clean verify
cd examples/protractor-cucumber
npm test

Let me know if this helps,
Jan

Hi Jan!
Your answer helped we could execute the example project. Now we're trying to create our own project with the help of example that you provided. However, we're facing following issues:

Serenity JS1.0 used to show structure of unimplemented steps, with serenity-Js 2.0 we are not getting that. It just shows :
ImplementationPendingError: Step not implemented
at CucumberEventProtocolAdapter.outcomeFrom (C:\ui-automation\serenity-example\node_modules@serenity-js\cucumber\src\listeners\CucumberEventProtocolAdapter.ts:168:54)
at EventEmitter. (C:\ui-automation\serenity-example\node_modules@serenity-js\cucumber\src\listeners\CucumberEventProtocolAdapter.ts:140:54)
at EventEmitter.emit (events.js:187:15)

We are experiencing timeout issues during executions.
For more clarity kindly check the sample repository that we have created: https://github.com/rajeshwarp/serenity-js-example

Please help us with the basic assertions. We want to use targets instead of elements. But assertions demand elementFinder for operations like text equals, element present etc. What is the way out to this?

Thanks,
Akshaya

Hello @jan-molak !
Your answer has helped! There is another issue that we are stuck up with.
The protractor.conf.js uses cucumberOptions like this:
cucumberOpts: {
   require: [
     "features/step_definitions/*/**.ts",
     "core/common-util/hooks.ts",
     "core/persona.ts",
     "core/stage.ts",
   ],
   format: 'pretty',               // enable console output
   compiler: 'ts:ts-node/register'   // interpret step definitions as TypeScript
 },

On execution, we learn that it is unable to find the location for step_definition files. The error reads:
[test:acceptance] [16:27:53] E/launcher - Error: Error: ENOENT: no such file or directory, lstat 'C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\features\step_definitions\*'
[test:acceptance]     at Object.realpathSync (fs.js:1454:7)
[test:acceptance]     at Object.expandPathWithExtensions (C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\cli\path_expander.js:14:23)
[test:acceptance]     at C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\cli\path_expander.js:8:27
[test:acceptance]     at Array.map (<anonymous>)
[test:acceptance]     at Object.expandPathsWithExtensions (C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\cli\path_expander.js:7:31)
[test:acceptance]     at Object.expandPaths (C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\cli\support_code_path_expander.js:6:38)
[test:acceptance]     at getSupportCodePaths (C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\cli\configuration.js:73:49)
[test:acceptance]     at Object.getSupportCodeLibrary (C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\cli\configuration.js:125:30)
[test:acceptance]     at Object.getSupportCodeLibrary (C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\runtime.js:44:46)
[test:acceptance]     at Object.start (C:\gitrepo\WebFX\Lifecare-Foundation-TestFx-SerenityJS-Starter-Kit\node_modules\cucumber\lib\cucumber\runtime.js:12:37)
[test:acceptance] [16:27:53] E/launcher - Process exited with error code 100
[test:acceptance] npm ERR! code ELIFECYCLE
[test:acceptance] npm ERR! errno 100
[test:acceptance] npm ERR! lifecare-serenityjs-starter-kit@1.0.0 test:acceptance: `protractor ./protractor.conf.js`
[test:acceptance] npm ERR! Exit status 100
[test:acceptance] npm ERR!
[test:acceptance] npm ERR! Failed at the lifecare-serenityjs-starter-kit@1.0.0 test:acceptance script.
[test:acceptance] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Could you please help us with this?
Thanks,
Akshaya

authors: akshayadesh jan-molak


text:
Add devcontainer template

Add a devcontainer setup. Renamed the files to .template to make activation a manual action.
Use the settings.json from the .devcontainer/resources folder to set the correct Python path and link to the language server files in the project.

Devcontainer support from joepv

authors: jangabrielsson joepv

repo: jangabrielsson/fibemu


text:
building at aarch64 / debian 9

root@amlogic:/etc/iptvx# ./iptvx
iptvx -- An IPTV player and recorder
You are using version 'iptvx 0.5 beta'
Please file bugs in the issue tracking:
https://github.com/jankammerath/iptvx/issues
(process:12186): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
(iptvx:12186): Gtk-WARNING **: cannot open display:
PS: i want to donate your project.

Thank you for the interest in the project. I have built aarm64 Debian 9 packages now:
https://download.opensuse.org/repositories/home:/jankammerath:/iptvx/Debian_9.0/arm64/
Can you please let me know which hardware you've compiled on? I'd like to reproduce any issues. Support for integrated devices will come with the new versions.
Merry Christmas! After the festive season is through, I'll get back in touch with you.

i try to run iptx at set-to-box TX3 mini (s905x, 1g ram, mali450 gpu)

authors: jankammerath vlelin

repo: jankammerath/iptvx


text:
Strange behaviour

Hi there,
I trying to implement svelte-toc to my current work. Unfortunately, I experiencing strange behaviour.
When I navigating by a link to: /article
Then in svelte-toc I got data from the previous page (on that previous page, svelte-toc wasn't used).
If I refresh the page in the browser, then svelte-doc is loaded with the correct data.
If I just put the URL to the article in the browser and open the page that way, the correct data will be loaded also in that case.
What I see that makes a demo app different from my work is that I do not use mdsvex, I get markdown data from 3rdparty APIs and I parse it with markdown-it.
So my <Toc /> component is not in markdown, but above it (I do not have file +page.svx, I using <Toc /> in +page.svelte)
It's hard for me to reproduce it, as I cannot share backend/frontend data. And at the same time, I have no idea what reason for that behaviour.
I will be grateful for any tips on where to look for the cause
Regards

What you describe sounds like this line doesn't run:
https://github.com/janosh/svelte-toc/blob/42a232dee2c8de46819b3a68fc059d2b5903098d/src/lib/Toc.svelte#L42
Or maybe it runs too early before the new headings have appeared on the page.
Could you modify the file Toc.svelte in your node_modules and add a console.log('hi from requery_headings') at the start of function requery_headings() to make sure it's not run?

Hi @janosh.
I can confirm, is not running with link navigate, and is running after page refresh.

I tried but can't reproduce the problem locally. Could you add afterUpdate to your Toc.svelte and see if it solves the problem?
import { afterUpdate } from 'svelte'

afterUpdate(requery_headings)

You can remove or leave the line page.subscribe(requery_headings), shouldn't matter.

You can remove or leave the line page.subscribe(requery_headings), shouldn't matter.

Indeed that doesn't matter.
This not solving the problem but changing behaviour
After changing page by the link I get the same toc as before (with data from the previous page), but if I scroll (just a bit is enough) then data from the previous page is gone. Additionally, (after scroll) the title of toc is duplicated.
I just realized.

Then in svelte-toc I got data from the previous page (on that previous page, svelte-toc wasn't used).

Its data from the previous page + correct data on the bottom

Interesting. One more thing to try then is adding
import { afterNavigate } from '$app/navigation'

afterNavigate(requery_headings)

Could you try this with and without the afterUpdate(requery_headings) line?

Looks like afterNavigate didn't change anything. With and without afterUpdate is the same.

Then I'll need a reproduction to debug this further. I'm guessing there's something unusual happening when navigating your site but can't say what without poking into the details.

Actually, thinking about this more, maybe the MutationObserver would be a more robust solution for the purpose of this component. Let me try that and get back to you.

Could you try the v0.3.0 release and see if the problem persists?

@janosh well done, especially that you were blindfolded.
v0.3.0 solving problem, but I get duplicated title of toc. In both cases, when navigating via the link and after refreshing the page

@janosh well done, especially that you were blindfolded.
v0.3.0 solving problem

Glad to hear it. 👍

ut I get duplicated title of toc with that version. In both cases, when navigating via the link and after refreshing the page. Thanks a lot for taking care of it!

That sounds like expected behavior. It's currently up to you to define a custom headingSelector that excludes the ToC's own heading. Though again, come to think of it, it should definitely have a class of toc-exclude by default.

Closed by #19.

@janosh After #20 I just start thinking if the header of toc should have h tag from the SEO point of view, what do you think?

I was debating this myself. I decided to go with a heading cause it seemed like the most semantic HTML but am willing to be convinced otherwise.
An argument in my favor is that MDN itself uses an <h2> for their ToC heading:

@janosh What do you think about letting users choose their own choice of tag for it? #21

Good idea! Thanks. 👍

authors: janosh oskar-gmerek

repo: janosh/svelte-toc


text:
🛑 Restaurant Piroschka is down

In 47a590f, Restaurant Piroschka (https://restaurantpiroschka.com/) was down:

HTTP code: 500
Response time: 444 ms

Resolved: Restaurant Piroschka is back up in 43ddf99 after 4 hours, 26 minutes.

repo: janparkio/uptime


text:
parsing: failure to recognize good bash code; incorrect flagging of error

this bash code
isUp=$((ping -w1 -c1 google.com >/dev/null) && echo up || echo down)
echo $isUp

should not be flagged as an error
bash -version
GNU bash, version 4.3.42(1)-release (x86_64-pc-linux-gnu)
bash support version: 1.5.8.163
intellij 2016.3

this code is ambigious, it's either an arithmetic expression $(()) or a subshell with subexpressions. Bash does parse this properly, BashSupport doesn't do this.
To work around this it's better to write this as
   $( (ping -w1 -c1 google.com >/dev/null) && echo up || echo down)

See https://github.com/mvdan/sh/issues/30 , for example.

Good find! And thanks. Maybe close this issue or let's implement backtracking :p

authors: activedecay jansorg

repo: jansorg/BashSupport


text:
Configure primary color 1.3.x

Description
Created PR for 1.3.x branch for "[Test automation] make branding icons and primary color configurable"
Which issue(s) does this PR fix

Fixes RHIDP-795

PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

/lgtm

repo: janus-idp/backstage-showcase


text:
[1.3.x] chore(deps): bump bulk import frontend plugin

manual cherry-pick of https://github.com/janus-idp/backstage-showcase/pull/1626

/test e2e-tests

updated the backend plugin version

Tested the updated version on a cluster with the PR image, and it works great 👏  argo-ui did show up in the Catalog list later, I just didn't wait long enough in the screen recording.
https://github.com/user-attachments/assets/88829f2c-83b8-4ecf-a83e-d74217b7160b

/lgtm

/retest

/test all

authors: ciiay debsmita1 subhashkhileri


text:
chore(deps): update gitlab plugin

Description
Update GitLab plugins

Update @immobiliarelabs/backstage-plugin-gitlab from 6.6.0 to 6.6.1

https://github.com/immobiliare/backstage-plugin-gitlab/pull/597

Update @immobiliarelabs/backstage-plugin-gitlab-backend to 6.6.0 to 6.7.0

https://github.com/immobiliare/backstage-plugin-gitlab/pull/607

Which issue(s) does this PR fix
It allow us to disable the GitLab plugin on our team instance.
PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

/approve

@Fortune-Ndlovu I've rebased this PR to the yarn 3 update

This was included in #1818


text:
RHIDP-1148-add-external-db-note

Add note to operator install description about option to use external db
JIRA issue: https://issues.redhat.com/browse/RHIDP-1148?filter=-1

/cherry-pick 1.2.x

authors: Fortune-Ndlovu nickboldt

repo: janus-idp/operator


text:
Viewing Furnace Recipies Crashes

Issue Description:
Viewing furnace recipies crashes the game if the mod is missing Instead of disabling the recipe.
What happens:
A crash occurs if the recipe for cooked fish (anything using the furnace) is viewed using JEI.
What you expected to happen:
To be able to view Recipies without crashing if the mod is missing.
Script used:
http://pastebin.com/inruVFpK
Minetweaker.log file:
http://pastebin.com/9BTBfXsg

Affected Versions:

Minecraft: 1.10.2
Forge: 2221
Crafttweaker: 3.0.24

Your most recent log file where the issue was present:
Crash Report
Latest.log

You should fix the script rather then let it error, if it tells you an item can't be found, fix that before doing anything else.


text:
Project Name Change

React-boilerplate (the most popular react boilerplate on github) is struggling to implement ssr. Obviously, that's this project's bread and butter. Wondering if it makes sense to rename this project, react-boilerplate-ssr to increase discoverability.
Any other ideas? Objections? Comments?

I think its a tactic that works in nature, exposure by association. I've gone through 4 or 5 boilerplates to learn react and redux.  I think i found your project here http://andrewhfarmer.com/starter-project/ Writing a medium article and  guide for server side rendering would probably help with exposure.

authors: developerwok jaredpalmer

repo: jaredpalmer/react-production-starter


text:
Feature: include dumps in output table if available for search-helix action

It would be nice if we could include dumps in output table when available in the attachments for search-helix action.
cc: @jaredpar

Sure thing.

authors: jaredpar safern

repo: jaredpar/devops-util


text:
Added new attribute to AnimatedSvgView

Added new 'TraceMarkerLength' attribute to the AnimatedSvgView, updated the MainActivity layout file to include the new attribute and updated the gradle plugin to 2.2.3

LGTM, thanks!

Thanks for the merge :+1:

authors: farhadfaghihi jaredrummler

repo: jaredrummler/AnimatedSvgView


text:
work with laravel-translatable

Hi, it's possible to use the package to search in translated column created with laravel-translatable?
I tried to put joins in $searchable variable but search method return always all items in table

Which translatable exactly?

i use dimsav/laravel-translatable

dimsav/laravel-translatable use a "translations" relation on model, and make it easy to use by using magic properties and custom methods. But in the end, it's à relation.

Thank you, now it's work.
If some one have the same issue the solution is insert in model:
protected $searchableColumns = ['translations.column_name'];

authors: jarektkaczyk mtx-z rommelandrea

repo: jarektkaczyk/eloquence


text:
Failing duplex test under JRuby 1.6.5

When running the specs under JRuby 1.6.5 I get the following failure:
  1) ChildProcess can write to stdin if duplex = true
     Failure/Error: out.read.should == "hello world"
       expected: "hello world"
            got: "" (using ==)
     # ./spec/childprocess_spec.rb:162:in `(root)'

My environment:
$ ruby -v
jruby 1.6.5 (ruby-1.8.7-p330) (2011-10-25 9dcd388) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_29) [darwin-x86_64-java]

I did some digging and found out that the STDIN.read in the test returns an empty string instead of any data that was sent to standard input.

Yes, I'm aware of this failure and have tried to figure out what's going on without much luck. Something must have changed in JRuby since this passed on previous versions.
If someone can provide any further insights, that'd be much appreciated. Otherwise I'll dig in some more when I can find the time.

This should be fixed as of 2fe8f53.

authors: jarib thedjinn

repo: jarib/childprocess


text:
How can I figure out theMK preferences?

Hi! I have a circuit based on PIC16F84A. I've tried this project to upload the hex file on it, but there is no this MK in the database. I've found flash size from data sheets, but how can I get other options: page size, id, and mask?

PIC16F84A can't be programmed using the hardware, as PIC16F84A doesn't support low voltage programming (LVP) and therefore isn't supported in software too.

authors: jaromir-sukuba vporoshok

repo: jaromir-sukuba/a-p-prog


text:
Error when cloning one yandex mail account to another

Hello!
I've faced with next problem. I want to recursively copy all messages from one mailbox to another. Both mails are located on YANDEX mail server. I use next command and get next output:
# python imapcopy2.py -r -c imap.yandex.ru:993 XXXXXX@YANDEX.RU:PASSWORD imap.yandex.ru:993 XXXXXX@YANDEX.RU:PASSWORD "" ""
2016-05-31 11:29:14,356 - INFO - Connect to source (imap.yandex.ru)
2016-05-31 11:29:14,965 - INFO - Authenticate at source
2016-05-31 11:29:15,062 - INFO - source connection established
2016-05-31 11:29:15,289 - INFO - Connect to destination (imap.yandex.ru)
2016-05-31 11:29:15,855 - INFO - Authenticate at destination
2016-05-31 11:29:16,005 - INFO - destination connection established
2016-05-31 11:29:16,245 - INFO - Getting list of mailboxes under
2016-05-31 11:29:16,470 - INFO - Recursing into &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
2016-05-31 11:29:16,470 - INFO - Getting list of mailboxes under &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
2016-05-31 11:29:16,862 - INFO - Create destination mailbox |&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
2016-05-31 11:29:17,231 - INFO - Looking for mails in &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
2016-05-31 11:29:17,495 - INFO - Start copy &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1- => |&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1- (180 mails)
2016-05-31 11:29:18,046 - INFO - Copy mail 1 of 180 (copy_count=1, md5(message)=915fa7e6ded9106af3fc906f715a75d9)
2016-05-31 11:29:18,485 - INFO - Copy mail 2 of 180 (copy_count=2, md5(message)=eff927cff1aef0bf8af2f036ad04c968)
2016-05-31 11:29:18,944 - INFO - Copy mail 3 of 180 (copy_count=3, md5(message)=5780dc688ad4ead68e24dc1804885853)
2016-05-31 11:29:19,382 - INFO - Copy mail 4 of 180 (copy_count=4, md5(message)=e948f76ce9bfef6d0ced0f6d0beda919)
2016-05-31 11:29:19,794 - INFO - Copy mail 5 of 180 (copy_count=5, md5(message)=0cd7c9aea9fc3f8c94e4a398d7960cc7)
2016-05-31 11:29:20,249 - INFO - Copy mail 6 of 180 (copy_count=6, md5(message)=43b26808b1b154c403f57d07fc77ae0f)
2016-05-31 11:29:20,732 - INFO - Copy mail 7 of 180 (copy_count=7, md5(message)=d9857d59699b48ae8328ba0ad784e8e2)
2016-05-31 11:29:21,587 - INFO - Copy mail 8 of 180 (copy_count=8, md5(message)=72dd4dd5c85d6ac1fe98c90b93228425)
2016-05-31 11:29:22,046 - INFO - Copy mail 9 of 180 (copy_count=9, md5(message)=dc5f9ba1421f6ca89a2e6de05190ea04)
2016-05-31 11:29:22,464 - INFO - Copy mail 10 of 180 (copy_count=10, md5(message)=248a7e8f5bcbb5ed42868035fcf90b26)
2016-05-31 11:29:22,902 - INFO - Copy mail 11 of 180 (copy_count=11, md5(message)=9cad4c67446d502e8c773c83a2618425)
2016-05-31 11:29:23,322 - INFO - Copy mail 12 of 180 (copy_count=12, md5(message)=c39b1bc89cd95d33b6395ca763f4c49a)
2016-05-31 11:29:23,750 - INFO - Copy mail 13 of 180 (copy_count=13, md5(message)=78ea52b0dcc1cd5a0ccef8aa170e27aa)
2016-05-31 11:29:24,208 - INFO - Copy mail 14 of 180 (copy_count=14, md5(message)=f9b51ea22ee441b392fff1167352cd87)
2016-05-31 11:29:24,637 - INFO - Copy mail 15 of 180 (copy_count=15, md5(message)=2870d5d1aaa606a38d0ad2de8e148dd7)
2016-05-31 11:29:25,083 - INFO - Copy mail 16 of 180 (copy_count=16, md5(message)=f2dd880dcc6012d64b34da8191548aef)
2016-05-31 11:29:26,238 - INFO - Copy mail 17 of 180 (copy_count=17, md5(message)=a34d02cd9a6759136080ff19a9895d23)
2016-05-31 11:29:26,691 - INFO - Copy mail 18 of 180 (copy_count=18, md5(message)=8fe1a29f9507de48a3634369f3773cbc)
2016-05-31 11:29:27,113 - INFO - Copy mail 19 of 180 (copy_count=19, md5(message)=8acf14e49bdf3ce8f3670b101b7ef8b6)
2016-05-31 11:29:27,529 - INFO - Copy mail 20 of 180 (copy_count=20, md5(message)=0f97d518a239ea19608d8d5d2b49af33)
2016-05-31 11:29:27,951 - INFO - Copy mail 21 of 180 (copy_count=21, md5(message)=52976ca5b7e97ae27798b413ac56c553)
2016-05-31 11:29:28,382 - INFO - Copy mail 22 of 180 (copy_count=22, md5(message)=1a46748406a013b236d43a168c9ab64f)
2016-05-31 11:29:28,879 - INFO - Copy mail 23 of 180 (copy_count=23, md5(message)=46f3f5a07092d3e17e70eb8d331b5c15)
2016-05-31 11:29:29,322 - INFO - Copy mail 24 of 180 (copy_count=24, md5(message)=36a01975540787f7e158da41d9c423dc)

2016-05-31 11:30:03,667 - INFO - Copy mail 25 of 180 (copy_count=25, md5(message)=f9d1a379f9389eacc5b7c0df51d540dd)
2016-05-31 11:30:04,262 - INFO - Copy mail 26 of 180 (copy_count=26, md5(message)=277233f3909c9db533322b833513d166)
2016-05-31 11:30:04,814 - INFO - Close mailbox on source
2016-05-31 11:30:04,814 - INFO - Disconnect from source server
2016-05-31 11:30:04,898 - INFO - Disconnect from destination server
Traceback (most recent call last):
  File "imapcopy2.py", line 266, in <module>
    main()
  File "imapcopy2.py", line 260, in main
    imap_copy.run()
  File "imapcopy2.py", line 179, in run
    self.copy(source_mailbox, destination_mailbox, self.skip, self.limit)
  File "imapcopy2.py", line 105, in copy
    skip, limit, recurse_level + 1)
  File "imapcopy2.py", line 158, in copy
    destination_mailbox, flags, msgDate, message
  File "/usr/local/lib/python2.7/imaplib.py", line 337, in append
    return self._simple_command(name, mailbox, flags, date_time)
  File "/usr/local/lib/python2.7/imaplib.py", line 1088, in _simple_command
    return self._command_complete(name, self._command(name, *args))
  File "/usr/local/lib/python2.7/imaplib.py", line 918, in _command_complete
    raise self.error('%s command error: %s %s' % (name, typ, data))
imaplib.error: APPEND command error: BAD ['Command syntax error. sc=HTHlNx5Ix8c8_310929_24o']

Some problem here with 1und1 inbox. Some message are copied and then i get an error.

I used another method whics is 100% working. It needs to have installed Outlook on some PC. You download there all mail and then just move it to another e-mail box. It is slow, but probably reliable.

@gecube  i know that... but that is the way i don't want... this is my normal way then i don't need that script :D

authors: gecube rehoehle


text:
docs: 'update' event confusing documentation

The current docs for the update event state:

"update" (collection, options) — single event triggered after any number of models have been added or removed from a collection.

I interpreted this as events should only be fired on add or remove (i.e. not merge), however the event is also triggered on merge from Collection#set:
https://github.com/jashkenas/backbone/blob/7da4ed73e7402baf614a50a6551d47ace68b5239/backbone.js#L939
I'm not sure if the docs are just incorrect here or the implementation is not as expected. Docs are probably a safer fix!

Yeah, I remember being a bit confused about this when I first tried using the update event. A doc clarification would be appreciated

repo: jashkenas/backbone


text:
Bug in unless with conditional assignment

Something like:
unless foo ||= bar
    baz()

...is compiled as:
if (!foo || (foo = bar)) {
    baz();
}

...which is not applying the 'not' operator to the entire result.
I was expecting this:
if (!(foo || (foo = bar))) {
    baz();
}

The below examples all have a falsy condition result, but swap the assignment result and position of the conditional assignment. I believe the last example is incorrect. This is on master (ef0cb46b at the time of writing) and 1.2.0.
# coffee -s
foo = null
foo ||= no
unless foo
  console.log('yay')
^D
yay

# coffee -s
foo = null
unless foo ||= no
  console.log('yay')
^D
yay

# coffee -s
foo = null
foo ||= yes
unless foo
  console.log('boo')
^D

# coffee -s
foo = null
unless foo ||= yes
  console.log('boo')
^D
boo

Yep, it looks like ||= isn't being negated properly. We're not adding the necessary parentheses.

authors: michaelficarra stephank

repo: jashkenas/coffee-script


text:
Doc: Add links to iteratee. Fix #2052

A proposal for #2052. Not sure it's the way to go, but just to get the ball rollin'

Here's a link if would help anyone review: https://rawgit.com/Florian-R/underscore/iteratee-doc/index.html

The code might look cleaner if you re-wrapped the paragraphs.

Thanks for your suggestion @captbaritone. The PR have been updated accordingly. Let me know if you want the commits to be squashed.

@akre54: want to rule here? Seems fine to me, but I don't handle any of the docs.

Looks cool to me. Do we need to shore up the difference between predicate and iteratee?

Added 45607a8 with some copy-editing for test purpose. This commit mainly remove predicate in favour of iteratee

Nice, looks like a better version of my proposed patch a while ago https://github.com/jashkenas/underscore/pull/1864

I'm fine with predicate. It tells me in just a word that its result is truthy or falsey. A predicate is a kind of iteratee just as an iteratee is a kind of callback.

Sorry @megawac, I missed #1864 when I opened this PR. This has been updated per your suggestion and @craigmichaelmartin 's one.
@jdalton Did you mean you'd prefer to totally drop 45607a8?

@Florian-R

Did you mean you'd prefer to totally drop 45607a8?

Yep. I don't mind links or notes, but I dig how descriptive predicate is.

Any progress on this? @Florian-R Are you blocked on anything?

Yap I was waiting for input from @megawac on the adjustments about the wording and somehow totally forgot this PR. If you've got some idea I'll be happy to move forward with this one.

@Florian-R Apologies for the continued delays.
How about we leave the descriptions of all the predicate functions alone and instead add to the end of each one:

predicate is transformed through iteratee to facilitate shorthand syntaxes.

@captbaritone I like it. There have been several change in the doc recently IIRC so I'll need to take a look at the changes to see if this PR is always 100% accurate. Not quite the time right now but I'll try to tackle this next week.

Coverage remained the same at 96.863% when pulling 16a26da3d070c5627771cb63e44b83716963879f on Florian-R:iteratee-doc into 5500925f9f6d4b30f02d24196364735532624ba9 on jashkenas:master.

Coverage remained the same at 96.863% when pulling 12072c82431a9f3eae3439c68ba462e182d0309b on Florian-R:iteratee-doc into 5500925f9f6d4b30f02d24196364735532624ba9 on jashkenas:master.

Coverage remained the same at 96.863% when pulling 900d7b2066080b1a8ca924f7db264f794ab17592 on Florian-R:iteratee-doc into 5500925f9f6d4b30f02d24196364735532624ba9 on jashkenas:master.

OK, I have removed  45607a8 (which changed wording from predicate to iteratee) and updated with the suggestion from @captbaritone
I have mixed feeling on this one, this is cleared but the wording seems very redundant.
@captbaritone thoughts?

Coverage remained the same at 96.763% when pulling e78f6609aa7bef473599f4e79c76e65a44bdf402 on Florian-R:iteratee-doc into c2e2eff828f73eaf4490353f83724c357acb7fdf on jashkenas:master.

Coverage remained the same at 96.763% when pulling bec53d3ba7768262286048ee6fd56db0e9fb76a9 on Florian-R:iteratee-doc into 314eb0389c741f813fb1c9513d6572196e7531e6 on jashkenas:master.

Coverage remained the same at 96.763% when pulling 489c050d8c586680763c4950b6a51275a1896fec on Florian-R:iteratee-doc into 314eb0389c741f813fb1c9513d6572196e7531e6 on jashkenas:master.

Coverage remained the same at 96.763% when pulling 489c050d8c586680763c4950b6a51275a1896fec on Florian-R:iteratee-doc into 314eb0389c741f813fb1c9513d6572196e7531e6 on jashkenas:master.

Coverage remained the same at 96.763% when pulling 089b93094a5f34277bf29790402a400516e22d15 on Florian-R:iteratee-doc into 314eb0389c741f813fb1c9513d6572196e7531e6 on jashkenas:master.

@captbaritone Finally took some time to force push some edit. I think this is in a good shape, but I've probably missed something.
I've removed some previous re-wrapping when lines weren't that much long. Hopefully it will help to review, and it could be addressed in another PR if needed.

Thanks for sticking with this one! This is a much needed improvement to our docs. If you think there are other places we could make improvements, please feel free to open pull requests.

authors: Florian-R akre54 captbaritone coveralls jdalton jridgewell megawac

repo: jashkenas/underscore


text:
Consider displaying proto-repl with atom-ink

Having inline, Light Table evaluation and watches is really nice. Here's an Atom project that could allow you to do that: https://github.com/JunoLab/atom-ink
I think it would be cool to have the ability to toggle on and off these inline evaluations, along with a full-blown repl like you already have.

I added some very basic support for this in the latest released version. This is my attempt to try it out first to get an idea of how integration might work.
You can try it by doing the following:

Upgrade to the latest Proto REPL
Install Atom Ink
Reload atom (Restart it or go to View -> Reload)
Click "Show Inline Results" in the Proto REPL settings.

Now when you execute a block or selection the result will be displayed using Atom Ink as well as in the REPL. This is definitely not the final way this would be implemented. Some initial thoughts:

Need to pretty print results to display there. Or show non pretty printed results but when the tree is expanded show the pretty printed results.
Integrate Ivy for display documentation, lists of functions in a namespace
Take advantage of the Ivy's ability to show things loading

This is awesome. Those changes you mention above sound great.
Is it crazy to build it so that it automatically evaluates expressions? Now that you have the value positioned next to the functions, they could update as you update code, similar to how Light Table has watch expressions.
You could use a key binding to set a block as a watched expression. But I think it would be a cool experiment to just do it for all expression, even the one you are currently typing. It probably should have a delay, similar to how linting in JS constantly evaluates your syntax as you type. After using JS linting, I can't work without it. I could imagine this could be similar.
Then the repl is used for testing ideas out, but not the main receiver of values. If all functions are watched and evaluated as you type, you may eventually not even use the repl, because you could just test out code inline as you type.
Just an idea. Great work with what you've done - I love it.

Continuing in the saga of improving inline results I've added the ability to autoload the current file whenever there's a change. Results will display inline next to the expressions. You can even combine it with proto-repl-charts so a graph is displayed on every modification. To enable it for the current text editor bring up the command palette and select "Proto Repl: Autoload File". It can be turned off on a file with "Proto Repl: Stop Autoload File".

Jason, This is really great. Your repl plus parinfer just made Atom a serious Clojure/Clojurescript editor.
Are you still planning on adding inline docs, pretty print and loading indicator (mentioned in your comment above)? Once you're good with this you should consider reaching out to some clojure folks  to get their take on it. Maybe Hacker News as well.

For inspiration: https://www.youtube.com/watch?v=HnZipJOan54&feature=youtu.be

Thanks for the video. Shem and golem are very interesting. I like the way that golem shows bits of code next to the result where the code is editable and immediately re-evaluated. By splitting up the "REPL" into floating display areas you can mix visualizations and code with results. Mixing visualizations and code in the same display area is one of the next challenges for Proto REPL.

Agreed. It seems like you are building a good foundation on top of Atom for exploring those ideas.

This is really exciting! I already find it easier to use than light table, in terms of starting a repl and getting evaluation going.

Thanks, I'm really glad to hear it's working for you. If you (or anyone else) has ideas on improvements for the Atom Ink integration this thread is a good place to capture them and discuss. I can open new issues for specific improvements.

I had a few ideas:

When pretty printing a data structure for inline display convert it into a hierarchical tree so that each level can be expanded or collapsed. This would make exploring a large data structure easier.
Allow saving values inside an algorithm. Display the values inline next to where they were captured. I saw a tweet from Michal Srb on twitter showing Golem doing this. Here's a labeled screen cap showing Golem:

The way it would be displayed in Proto REPL would likely be different since it doesn't have the same display capabilities as Golem. But it could be displayed next to the specific log call where the values where saved. There should be a way to recall a specific saved value so that it could be used in further testing.

I can see a big benefit of displaying large datasets as hierarchical trees. I use that all of the time in the Chrome inspector when doing JS. I console.log or console.table out data structures or print them out at a debug point.
As for saving values inside an algorithm - it's interesting but at the moment it may be too far outside of my workflow to really understand it. I need to watch that video again and think about it.
This may be way outside the scope of proto-repl, but I keep thinking about error messages. From my experience, they are pretty obtuse. It doesn't sound like I'm alone: http://blog.cognitect.com/blog/2016/1/28/state-of-clojure-2015-survey-results
To this question:

What has been most frustrating or has prevented you from using Clojure more than you do now?

The number 1 response was error messages.
It's also an issue closely associated with beginner and intermediate Clojure developers. Experienced developers have already created a mental map and decision tree to understand and track down those errors. Experienced developers aren't likely on Atom and proto-repl either (they are typically on Emacs, with some converts over to Cursive). The perfect audience for Atom/proto-repl are people new to the language who don't want to learn Emacs on top of Clojure (And there are a lot of them, based on the survey). So it seems like if error messaging can be improved with proto-repl, that would be a huge draw.
For improved error messaging, it could give the original message along with hints as to what it could be:
#<CompilerException java.lang.NullPointerException (NO_SOURCE_FILE:0)>
Typically this is due to [something]. Try [suggestion]

Again, understandable if it's outside the scope of a repl. But maybe not. Language-level improvements in error messaging eventually needs to be done, but that is a very slow, precise process. A 3rd-party repl can be a lot quicker to implement and update the messages. It can also be given more leniency when incorrect, which is helpful for moving quick. I watched Colin Fleming give this talk in November: https://www.youtube.com/watch?v=kt4haSH2xcs. Clearly having access to the AST seems ideal in terms of what context is available for interpreting and tracking down errors. That is one approach, but there are tradeoffs on speed of development and platform requirements.  It reminds me of how early on Coffeescript made popular a lot of language constructs that gave the TC39 working group momentum and confidence to get language additions added to JS. Now we have Babel doing a similar thing and from what I've heard the working group appreciates and needs that kind of real-world usage.
You can still get a lot of information from the error message string and function the error threw in. I'm definitely not an expert at this. But I would explore two paths for this:

keyword search in a string with manual logic: does it contain java.lang.NullPointerException?
** Does it contain NO_SOURCE_FILE: do [a]
** Does it contain xyz: do [b]

Natural language processing + bayesian classification: I've used this library with success: https://github.com/NaturalNode/natural#classifiers

Whatever approach to classification you use, it may make sense to make it a separate repo from proto-repl. Then other people could contribute and use it in other projects. As another project I could see it really helpful as a website where people can paste error messages in and get suggestions. Maybe it's written in CLJS (if using something like NaturalNode) or CLJC. Just an idea. I love this project. Thanks.

That's a really good idea. I'm going to put some thought into that and start keeping track of typical Clojure errors I encounter. There may be reasonable error messages that can be displayed for many of them.
RE: Saving values in an algorithm, view results, and recall:
Inside of a function you might have a few different things going on. The function takes input and output and returns a value but you can't see inside it to know what's happening. That's why people typically reach for println and log statements. I want to improve on that approach with things like

The ability to save those values and recall them to use for manual testing in the REPL.
Showing values saved over time. (Atom ink inline display)
Visualizing values over time.

Golem was attempting to do what Brett Victor showed way back in his Inventing on Principle video. The relevant section starts at 17:30. Here's a screenshot from that video showing a very similar thing. It's showing the values captured during execution of his binary search function.

I want the same thing in Proto REPL. I want to show the values as they change within the code itself. Mr. Victor shows all of the values as soon as they are set. That's a bit harder to accomplish. An easier approach would be to trigger the save with a call to some kind of log function like in Golem. Saved values would automatically be displayed inline as soon as they were captured.

I implemented the inline display as an explorable tree. That's released with a bunch of other fixes in 0.14.0

This is really nice. Unfortunately I can only pull changes and play around right now because heads down in a non-Clojure project. In a couple weeks I'll be starting on a decent size CLJS project where I can really take advantage of this. I'll also keep track of errors that come up and their solutions. I am still thinking through the values saved during execution idea as well.
What's next for this project?

I'm working on the feature I described above to save local bindings and view them. I think I'll have a beta version of it available pretty soon. It's currently being developed in the save_and_recall branch.

I just released the save and view local bindings feature in 0.15.0. https://github.com/jasongilman/proto-repl#saving-and-viewing-local-binding-values It also improves the display of values from Atom Ink by changing to a mono-space font and increase the size of the inline display area.

So sweet. I totally get the saving and viewing local bindings now. It's kind of like the reductions function in Clojure (https://clojuredocs.org/clojure.core/reductions) but applied to any internal function.
Small typo:

They're not meant to be used in local development only.

You probably mean it's only meant to be used in local development.
As a side note, I talked with Julio Barros who is doing an online Clojure course and suggested he include Atom/proto-repl in his page of resources: http://e-string.com/clojure-resources/. It would be fun to get a bunch of people hammering on this.

Not directly related to atom-ink, but you might also look at using block decorations for larger results, and perhaps inline doc strings.
http://blog.atom.io/2016/02/03/introducing-block-decorations.html
https://github.com/atom/atom/pull/9930

I really like the idea of using block decorations. I don't have a great idea of what to put there yet. I like the idea of putting larger results there instead of inline on the right where there's not as much room. I've also thought of using them as a target for visualizations like those provided in proto repl charts instead of putting those in a new tab.

@jasongilman  So, I've been using LightTable for some time and have come to really love the inline results, which is why I was watching the block decorations closely, and like what your'e doing with proto-repl.
One area that I think could be improved on for inline results is when you have a larger result than can be displayed on the same line to the right of the end of the expression. With larger expressions they often run off the visible screen to the right. Formatting of the inline results would also be cool.
For instance a function that's being called and returns a number say 101 should just display on the same line. For a defn which returns a var name, perhaps that can be recognized as such and add a green checkmark on the same line to indicate it's been evaluated, and remove it on edit. For a function that's returning a large map, that should break to the next line. Taking it a bit further, format the result based on it's type, so if it's a map, rather than printing out just a raw string, actually format it and also allow it to be copy/pasted. If there's an exception, clean up the raw stack trace and display that inline as well.
Thanks for all your work on proto-repl, I believe having a good repl experience in Atom will really help clojure adoption.

Closing this issue now that Proto REPL has been using Atom ink for a while. Improvement ideas can be filed as new issues.

authors: jasongilman jefffriesen mikeball saulshanabrook

repo: jasongilman/proto-repl


text:
Add line numbers to repl

The default "eval" from nrepl connection doesn't gives us any information about line numbers, so it's kinda hard to debug code that we send to REPL:

As we can see in the above image, the code is raising a "divide by zero" but it's not showing where it happened - just that it's on the second line of the file.
This is the stacktrace after my changes:

Now, the stacktrace shows that our exception started at line 6, then 3, then 4.
As for the strange name (form-init<somebignumber>), I wasn't able to find out what's wrong. On the "send" documentation, it says that this is the correct parameter and even clojure.core/*file* is bound to the correct name, but pst is unable to understand it. Still, beter than nothing :smile:

Looks good. Thanks for the pull request!

authors: jasongilman mauricioszabo


text:
onbeforeunload not supported in iOS

Hello,
I have tested to send a time to database with AJAX script with the event onbeforeunload and it seems to not working.
Someone has the same issue ?
I tried with onunload and it seems to work, any problem to use this function instead onbeforeunload ?
Regards

Hi!  Thanks for the comment.  There are timing issues with onbeforeunload, especially when trying to send a synchronous HTTP request as my documentation suggests to do.  I'm not surprised to hear that iOS is not supporting this.
I'll update documentation to find another suggestion, but it may involve websockets or some other pinging mechanism.

I've been play with TimeMe and Ratchet and have it all working nicely, except iOS. Is this due to the sendCurrentTime call that should be triggered by an onbeforeunload that never runs on iOS?

This is what I use for iPhone iPad and iPod. It seems to work if someone wants to test and give me feedback (and maybe update documentation)
<script type="text/javascript">
    TimeMe.setIdleDurationInSeconds(30);
    TimeMe.setCurrentPageName("NAME_OF_THE_PAGE");
    TimeMe.initialize();
    var isOnIOS = navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i);
    var eventName = isOnIOS ? "pagehide" : "beforeunload";

    window.addEventListener(eventName, function (event) {
        xmlhttp = new XMLHttpRequest();
        xmlhttp.open("POST", 'URL', false);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        var timeSpentOnPage = TimeMe.getTimeOnCurrentPageInSeconds();
        xmlhttp.send("timeSpent=" + timeSpentOnPage);
    });

</script>

authors: jasonzissman kalimerre martyf


text:
🛑 Rodriguez Marin, 88 is down

In 3485a1a, Rodriguez Marin, 88 (http://159.65.204.200:7057/) was down:

HTTP code: 502
Response time: 18809 ms

Resolved: Rodriguez Marin, 88 is back up in 8c083e9.

repo: javisu/monitor


text:
🛑 Poeta Joan Maragall, 16 is down

In 3b7c293, Poeta Joan Maragall, 16 (http://159.65.204.200:7055/) was down:

HTTP code: 502
Response time: 18654 ms

Resolved: Poeta Joan Maragall, 16 is back up in 49479f7.


text:
🛑 Ofelia Nieto, 57 is down

In e91228e, Ofelia Nieto, 57 (http://159.65.204.200:7022/) was down:

HTTP code: 502
Response time: 18763 ms

Resolved: Ofelia Nieto, 57 is back up in ec72f71.


text:
🛑 Norma, 357 is down

In e5db277, Norma, 357 (http://159.65.204.200:7044/) was down:

HTTP code: 502
Response time: 18750 ms

Resolved: Norma, 357 is back up in 74b43b1.


text:
🛑 Rodriguez Marin, 88 is down

In a9f158e, Rodriguez Marin, 88 (http://159.65.204.200:7057/) was down:

HTTP code: 502
Response time: 18655 ms

Resolved: Rodriguez Marin, 88 is back up in d0d157a after 567 days, 2 hours, 22 minutes.


text:
🛑 Rodriguez Marin, 88 is down

In 9c9c9d0, Rodriguez Marin, 88 (http://159.65.204.200:7057/) was down:

HTTP code: 502
Response time: 18683 ms

Resolved: Rodriguez Marin, 88 is back up in c7280dc after 7 minutes.


text:
Label causing import error

I am importing a large (500K+ messages) mbox to Gmail. The process started fine, imported a few thousand messages and got interrupted with the following message:
Creating label Muted
400: Invalid label name - invalidArgument

When I re-run the command, it exits with the same message. I guess "Muted" causes a conflict. I'd be okay skipping importing the messages with the label "Muted" but I don't think that's an option. I would appreciate the groups input on how I can resolve this issue.

Can you try running the restore with the additional argument of:
--extra-reserved-labels muted

this tells GYB to treat Muted as a reserved label it should not try to create. Instead it will be created as _Muted.

Thanks. I ended up doing --strip-labels. I may redo the whole thing and try your suggestion.