Sudden freeze of editor

Hi, I am currently writing a clojure tutorial for webapps using LT 0.8.1 on Windows and encountered a freeze within LT.
When I try to change the following line LT freezes and didn't recover. (remove logname and "/" works, but adding text between the stars not)
(println "****************************** /" logname))))
so changing to
(println "******************************"))))
works but when I try to enter a char like
(println "**************E****************"))))
it freezes. (After little time the workspace turns all black, I waited 10 minutes but it didn't recover.)
Full function:
;; /*****************************LOGGING********************************************/

(defn format-logs [logname request striped-keys striped-headers with-body]
  (let [without-striped-keys (reduce dissoc request striped-keys)
        without-striped-keys-and-headers (reduce (fn [headers to-remove] (update-in headers [:headers] dissoc to-remove)) without-striped-keys striped-headers)
        body (request :body)]
  (with-out-str
    (println logname ": ******************************")
    (clojure.pprint/pprint without-striped-keys-and-headers)
    (if (true? with-body)
      ((println "-------------------------------")
       (clojure.pprint/pprint body)))
    (println "****************************** /" logname))))

Work around:
Remove the "/" and logname. Save the file. Crash or restart LT. Then it works.
Installed plugins:
Clojure 0.3.2
CSS 0.0.6
HTML 0.1.0
Javascript 0.2.0
Paredit 0.0.4
Python 0.0.7
Rainbow 0.0.8
User 0.0.1
Changes of user behaviors:
added  [:editor :lt.objs.editor/line-numbers]

@JanDornbusch Thank you for this very thorough bug report :smile:
Sorry about the bug :disappointed:
I can't reproduce this on my Mac [note to me – F]. Would you add really really explicit steps I can follow to try to reproduce this? I moved the cursor, with the keyboard, in to (roughly) the middle of the asterisks but nothing happened when I entered a character.
Did you download version 0.8.1 of Light Table directly or did you upgrade from an earlier version? [I ask because the upgrade feature isn't working – see #2138.]

@JanDornbusch If you can, share your project too. Or at least the file that contains the mentioned function. I'm requesting that because the problems seems suspiciously like it's due to the autocomplete 'hinter' and that uses the entire code in the currently open file to build suggestions for the autocomplete popup.

I downloaded a fresh 0.8.1 and did not upgrade it. (Did a fresh installation of windows and I thougth would be a good idea to install all software fresh too).
Here is the full project https://github.com/JanDornbusch/ClojureWebTutorial/tree/master/issue and the file containing the function https://github.com/JanDornbusch/ClojureWebTutorial/blob/master/issue/src/testapp/handler.clj. The error happend while I was writing on a new step of my tutorial and just played a litte with layout possibillities of logs to find a pretty informative solution.
Place the cursor in line 37 behind logname and remove it with backspace. Then go left by arrow keys to remove the slash and the whitespace. Go more left by arrow keys to somewhere between the stars and try type "END OF LOG" normally you will not see the E before it freezes.
It is important you start with deleting the logname, if you just load the project you can write the text without problems! First after removal of /" logname  it freezes when you try to write between the stars.
Btw. LT is a nice editor, I am looking forward to new features. Bugs happen and be there to make programming fun ;)
If you need more detail let me know and thank you for the fast response!

I've also had extensive troubles with this bug. Just now, a actually properly parsed seq of maps was doing just fine, until I used second on it, then it crashed. Same way as described: black screen, detached JVM and LT. As there was nothing wrong with this seq, and it had a 2nd element which was evaluated, this really puzzles me. It seems to have a relationship with the volume of data here but hard to pin-point. I'll try and see if I can come up with a dataset and some reproducible steps.

So, the symptoms:
Black screen of death (cannot be closed, process must be terminated by means of task manager)

The detached process (process hacker 2):

Note I upped the memory of the project JVM to see if it was a memory limit, not sure how much it is by default but I recon somewhere along the line of 768M - 1G. :jvm-opts ["-Xmx2g"]. The behavior persists.
Checking AppData. The file logs/window1.log is empty. Ensuring proper permissions on AppData\LightTable folder (had a partial 'Read-Only' checkbox selected - as usual of course).
Previously I didn't know if this was buggy code on my part (crashing the JVM) or something else. I now have it reproducible to the extent that it also happens on what should be a straight forward eval and inline display of results in the editor. The pattern seems to be that it always happens on eval on displaying inline results. Not every time, but when it does, it is always at this particular point (I guess since the lazy loaded sequences, reducers etc kick off when evaluating the final form and not so much while tucked away safely inside a var).
Sooo...... and now it works again. I had it previously crash on a enlive html-resource display, and now it doesn't anymore. It might have something to do with the AppData Read permissions?

@JanDornbusch @robjens Ding ding ding! I was able to reproduce this on a Windows 10 computer [note to me – L] just now. I'm running a source build that's probably mostly up-to-date but I'm guessing this is due to something we haven't changed in a while anyways.
I cloned the repo @JanDornusch referenced in their last comment.
To reproduce:

Open Light Table.
Create a new workspace and add the root directory of the cloned repo.
Open the file issue/src/testapp/handler.clj.
Go to line 37 after the end of logname.
Remove logname via Backspace.
Remove the white space between the end of the preceding string and the cursor with Backspace.
Move left via ? so the cursor is inside the string.
Remove  / from the end of the string via Backspace.
Move left via ? 12 characters.
Enter any a character – LT should freeze.

I can't reproduce it in another .clj file by copying just the format-logs form. Nor can I reproduce it with that form and the ...***LOGGING***... comment. I can reproduce it in another file by copying the entire contents of the original file (so this isn't related to the project or other files somehow).
I opened DevTools, separated it into its own window, and started recording a timeline. I opened the file navigator sidebar (via Ctrl+o) and LT froze. Or rather the main 'page' of LT froze. All of the standard Windows menus 'worked' tho selecting any of the menu items failed to have any visible effect (including the Quit Light Table item under the File menu).
I tried recording a CPU profile too and that resulted in LT freezing as well. I was able to get the test file open and then navigate to line 37 before it froze this time. I noticed this time that I hadn't killed the "Electron" background processes before; I did that this time.
I tried recording a CPU profile again but this time LT froze nearly immediately. I wasn't even able to get the file navigator sidebar open.
I downloaded the latest release version (0.8.1) and ran the LT (Electron) executable in it and I tried recording a CPU profile yet again; LT froze, this time not quite immediately but still very soon after I started recording the profile.
I 'uninstalled' LT and, running the vanilla 0.8.1 release version, reproduced the original freeze. Or, I thought I'd reproduced the freeze – LT came back as I was typing this paragraph.
@JanDornbusch @robjens Something it'd be nice for you both to test is whether LT 'froze' permanently or merely just for a long time. If you could both reproduce a freeze and then wait as long as possible (while keeping your computer from sleeping or hibernating). This is pretty annoying to do so don't worry if you don't want to do it.
I tried recording a CPU profile again and LT froze as soon as I hit Backspace to start the steps to reproduce the freeze. According to Task Manager, none of the LT or "Electron" processes, foreground or background, are doing much of anything. Only the foreground processes show a positive CPU usage and it's only 0.1%. It remained frozen for more than 5 minutes so I killed it.
I uninstalled again, set the 'auto-complete hint limit' to 10, and reproduced the freeze. It lasted a little bit longer than 12 seconds and the auto-complete hint 'popup dropdown' was shown (with hints longer than 10 characters).
Steps 5-8 seem to be extraneous. It's sufficient to type a space and then a letter in the middle of the ...***... string.
The freeze is definitely due to the builtin auto-complete 'plugin'. Here's code that runs during the freeze:
(defn start-hinting
  ([this] (start-hinting this nil))
  ([this opts]
   (let [pos (editor/->cursor this)
         token (get-token this pos)
         line (editor/line-handle this (:line pos))
         elem (object/->content hinter)]
     (ctx/in! [:editor.keys.hinting.active] this)
     (object/merge! hinter {:token token
                            :starting-token token
                            :ed this
                            :active true
                            :line line})
     (object/raise hinter :change! (:string token))
     (object/raise hinter :active)
     (let [count (count (:cur @hinter))]
       (cond
        (= 0 count) (ctx/out! [:editor.keys.hinting.active :filter-list.input])
        (and (= 1 count)
             (:select-single opts)) (object/raise hinter :select! 0)
        :else (do
                (js/CodeMirror.on line "change" on-line-change)
                (dom/append (dom/$ :body) elem)
                (js/CodeMirror.positionHint (editor/->cm-ed this) elem (:start token))))))))

I added some JavaScript logging – e.g. (.log js/console "3") – between forms in the above function (and eval-ed the function in LT to update the live running version). Here's my 'logged' version of the function:
(defn start-hinting
  ([this] (start-hinting this nil))
  ([this opts]
   (.log js/console "Starting hinting ...")
   (let [pos (editor/->cursor this)
         token (get-token this pos)
         line (editor/line-handle this (:line pos))
         elem (object/->content hinter)]
     (.log js/console "1")
     (ctx/in! [:editor.keys.hinting.active] this)
     (.log js/console "2")
     (object/merge! hinter {:token token
                            :starting-token token
                            :ed this
                            :active true
                            :line line})
     (.log js/console "3")
     (object/raise hinter :change! (:string token))
     (.log js/console "4")
     (object/raise hinter :active)
     (.log js/console "5")
     (let [count (count (:cur @hinter))]
       (.log js/console "Count:")
       (.log js/console count)
       (cond
        (= 0 count) (ctx/out! [:editor.keys.hinting.active :filter-list.input])
        (and (= 1 count)
             (:select-single opts)) (object/raise hinter :select! 0)
        :else (do
                (js/CodeMirror.on line "change" on-line-change)
                (dom/append (dom/$ :body) elem)
                (js/CodeMirror.positionHint (editor/->cm-ed this) elem (:start token))))))
   (.log js/console "Finished hinting")))

Here's the corresponding output in the DevTools console when reproducing the (shortened) steps:
2016-06-18 13:16:09.245 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:256 Starting hinting ...
2016-06-18 13:16:09.247 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:257 1
2016-06-18 13:16:09.250 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:259 2
2016-06-18 13:16:09.251 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:261 3
2016-06-18 13:16:26.251 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:263 4
2016-06-18 13:16:26.253 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:265 5
2016-06-18 13:16:26.253 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:266 Count:
2016-06-18 13:16:26.254 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:267 2
2016-06-18 13:16:26.259 C:\@code\LightTable\src\lt\plugins\auto_complete.cljs[eval3]:287 Finished hinting

Based on the above, the problematic code is called by this line in the function:
(object/raise hinter :change! (:string token))

I checked the auto-complete hinter atom's by eval-ing (:listeners @hinter):
{:move-selection [:lt.objs.sidebar.command/move-selection],
 :change! [:lt.objs.sidebar.command/change!],
 :clear! [:lt.objs.sidebar.command/clear!],
 :select-unknown [:lt.plugins.auto-complete/select-unknown],
 :destroy [:lt.objs.clients/on-destroy-remove-cb],
 :select [:lt.plugins.auto-complete/select :lt.objs.sidebar.command/set-on-select],
 :set-selection! [:lt.objs.sidebar.command/set-selection!],
 :escape! [:lt.plugins.auto-complete/escape!],
 :select! [:lt.objs.sidebar.command/select!],
 :refresh! [:lt.objs.sidebar.command/update-lis],
 :active [:lt.objs.sidebar.command/filter-active],
 :focus! [:lt.objs.sidebar.command/filter-list.focus!],
 :line-change [:lt.plugins.auto-complete/line-change],
 :inactive [:lt.objs.sidebar.command/filter-inactive]}

That behavior is defined in the lt.objs.sidebar.command namespace in the behavior ::change!:
(behavior ::change!
          :triggers #{:change!}
          :reaction (fn [this v]
                      (let [v (object/raise-reduce this :change+ v)]
                        (when-not (= (:search @this) v)
                          (object/merge! this {:selected 0
                                               :search v})
                          (object/raise this :refresh!)))))

Adding logging to the above's reaction function, the slow code seems to be these lines:
(object/merge! this {:selected 0
                     :search v})

The merge! function:
(defn merge!
  "Merge map into object"
  [obj m]
  (when (and m (not (map? m)))
    (throw (js/Error. (str "Merge requires a map: " m))))
  (swap! obj merge m))

Both swap! and merge are core Clojure(Script) functions so it's surprising they're slow. I'm looking at this now.

@kenny-evitt could you specify long, please? My LT stopped work (black background, but menu still drops down, but not react on clicks) at 14:34 today, it's now 22:17 and nothing changed.

@JanDornbusch Not that long! After 'uninstalling' (deleting my local Light Table app data directory), the freezes didn't seem to last more than 15-20 seconds. You could try that, but that directory contains plugins, workspaces, and maybe some other stuff you don't want to delete. Perhaps you could make a backup of that directory, delete it, and let me know whether the freeze is much shorter then?

@JanDornbusch Try this for me please:
Copy your handler.clj file to a directory outside of your project's directory tree and add that outside directory to the LT workspace. Make sure your project's directory is not in the LT workspace. Then follow the steps to reproduce the bug in the handler.clj copy. When (or if!) LT freezes, wait at least a few minutes before killing LT. I (somewhat weakly) predict LT will only freeze for at-most a minute for you if you test in this manner.

Just testing fast. Emptied workspace, added new folder containing copy of file. Restarted LT to be sure. Only one folder + file in workspace. Followed till hanging and now 30 minutes passed still black background only. (Both processes stated <20MB memory and 0% cpu in taskmanager). Ohh, as I did the fres Install I am back at Clojure 0.3.1 Plugin will update now but test later again with new version.

@JanDornBusch Thanks for testing this.  I haven't re-tested with your entire project tho.

@JanDornbusch I can't seem to reproduce the long freeze anymore, even with your project.
What's your computer's specs?

@kenny-evitt Specs:
CPU: Intel i7-3930K @3.20Ghz (6C12T)
Ram: 16GB (4x4 DDR3 Ballistix Elite 1866 MT/s (PC3-14900))
GPU: ATI R9 Fury X
Systemdisk: Samsung 850 Pro SSD 256GB
Disk with LT: PNY Optima SSD 64GB (connected by INTEL SASUC8i controller no-raid enabled)
Mainboard: INTEL DX79SI
Anything else of interest?

@JanDornbusch That's a nice box you got there :smile:
Unfortunately, that means there's something really wrong with something in LT.
I tried reproducing this again just now, without first 'uninstalling', and I thought I finally reproduced a long freeze, but it still 'thawed' after 2 minutes or so, so it's not really what you're observing.
I'm stumped as to what to do or try next. I'm going to chew on this for a bit. Let me know if you try anything yourself or think of something to look at. The relevant LT code (AFAICT) is pretty accessible so I strongly encourage you to play around with it to try and pinpoint what exactly is slow or causing the freeze for you.

@kenny-evitt Great you could confirm/replicate. Shame it seems to be elusive so far. I'll chip in a few cents. Earlier I made a long ass post after some 'findings' only to delete it later on, a few of the initial assumptions, after it stopped freezing for a day or so, only to come back later and not being able to get rid of it.
First assumption was, and it may still be related somehow, that this kicked in with me during times of heavier computation and only when displaying inline results (obviously, some computations weren't evaled instantly, but it gave me the impression to be triggered on a heavy(ier) workload than normal. I ruled out any errors on my behalf, was able to trigger the freeze with a very clean and reliable dataset as well.
Second assumption was, related to first, that this was somehow limited to my RDP workstation, which is a Windows Server 2012 (Windows 8) operating system. This made me remember the nasty bug which was around with Win8, where permissions were reset to e.g. AppData\Local. As I didn't have this problem for a very long time on my (laptop host) Windows 10 OS. Until now. Shamefully, after a long long time, this appears to happen in my Win 10 LT as well. I haven't done anything to it for a while, no updates etc or anything that would explain or hint why this suddenly popped up. I'm going to try permissions again though, on the Win2k12 it seemed to help at first.
I have no had this bug for:

any short durations
they always result in a detached JVM
they last long, infinitely long I suspect
I don't think any other controls are active BUT the Close cross can be clicked though (so indeed the UI isn't frozen so much)

Since I seem to have it right now (the bug) let me try and profile some stuff. [fast forward 10 minutes] Isn't that typical. Like a true quantum particle, the moment I start looking at it and try to measure, it starts to behave differently. Can't trigger the freeze anymore all of a sudden. Nothing changed, didn't go back to some baseline setup or anything, same install and plugins still present. Same data would crash earlier and doesn't do so anymore.
On a side note, the only freezing behavior I can recall from LT earlier (and I believe Linux had it too) that had 20-30 second freezes was the delay in typing / auto-completion. I believe some of that was accounted to a node.js library though and although it did freeze the editor, it never caused a black screen of death. To me, the black screen is tied directly to the witness of a detached JVM (which theoretically could be re-attached I think, but practically, probably not so much :P)

Bang... and we have a black screen on profiling. Also very inconsistent. But I was running a recording session for about half an hour with no freeze, so I cleared all profiles and hit record again, and then the dev-tools (only dev-tools) got a black screen.
The rest of the editor remains working.

@robjens Thanks for the info. This is one painful Heisenbug. I'm not sure where to start to continue debugging it honestly.

@kenny-evitt +1 for the colloquial use of Heisenbug, just glad it isn't Bugfoot anymore although we see , or I'd have to start doubting my own sanity. But it is like a ghost so far, not much (circumstantial) evidence in terms odd resource consumption, log messages etc. It is definitely using Albuquerque Redmond as it's home base, that's for sure. Although we seem to have had somewhat different symptoms, I mostly had this happen on large(r) data sets being evaluated and not so much with autocompletion (although it has been lagish at times, not as bad as described here). I'll see if I can play with LT on Windows some more the next few times and see if I get to experience it still/again.

So... after having worked with LT sufficiently in the Remote Desktop Windows 2012 environment today and yesterday, I think I have my case nailed down or, that is to say, I can trigger and prevent it. What puzzles me is the difference with Linux but it must be the file system.
Basically, the editor explodes (read black screen + JVM detached) on evaluating a sufficiently large amount of data in the instant evaluation without binding it to a var. That is to say, what seems to trigger is something like:
;; resources/schema.xsd is a 5000 line schema file
(some->> "schema.xsd" io/resource fs/file x/parse) ; will blow/detach on eval

(def schema
  (some->> "schema.xsd" io/resource fs/file x/parse))

schema ; won't detach on eval

Is there a hard limit to the amount of data one can display inline in LT editor evaluation box? I have a 5000 line XSD file that will pretty much always consistently crash on slurp. The last method called is [stdout]:   44573 4845       4       sun.nio.cs.UTF_8$Encoder::encode (359 bytes)
The odd thing, the third time I tried and wait a bit before evaluating (no project, single file, commented out the slurp). It would always crash + detach when I instantly after the "REPL connected" status note would evaluate. Now I waited 5 seconds and it worked. Then I tried again a simple (unbound) slurp of the file, and it displays again. Third time, it hangs and crashes. I tried tweaking the (on Linux not required) leiningen :jvm-opts settings for memory and GC which doesn't seem to make much difference. Using print compilation returns 7000 lines of trace so it is a bit much to paste here and not sure if too much interesting stuff is going on there.

After a few false alarms, I figured it might still be useful to put my intermediate findings here. The detachment itself, I had hoped might be different if I ran the program under elevated Admin permissions in Windows. There was 1 difference: the instance this time didn't detach. While inspecting the processes running, I noticed my JVM (the one attached to lein-light-nrepl instance) has exactly 1GB of working commit. I figured it might be a lack of memory after all. I tweaked a whole bunch of GC settings, memory and so forth from :java-opts and also hooked up VisualVM. I could almost reliably trigger the error:

do not use a project (it has the freeze on both projects as the one-off #'user namespace on a new file
have a sufficiently large data source, I've used my 5000 line xsd file for this purpose
do not have anything uncommented in code (toggled on/off on restart)

Then I tried a few things.
Makes a difference if bound to var? At first it seemed. Later it would also freeze upon eval of the var.
Memory makes a difference? Only a tiny bit. I could e.g. eval 3 or 4 times the (slurp xsd-file), first only once, but then it died again. Does it make a difference for bound var? No not really. Anything in resources? Nope. No weird spikes in GC, memory usage or CPU beyond initial processing.
The JVM which always gets killed is lein-light-nrepl 1GB pipeline, the (now ran as 'server' 4GB) project 'custom' JVM always remains. But also the first JVM shows no strange spikes anywhere. Only weird thing I witnessed once was that metaspace went to -1B and that was after dying so probably nothing.
Last few days I've had a real laggy experience on Linux too. Always the autocompletion it seems and now it actually, for the first time, completely froze on typing the word typ. No real stress testing going on anywhere.
I have about two hunches left. One is that it seems to matter if I wait for 5 seconds before evaluating the expressions, do it before and it has a much higher chance to die than if I wait for a bit for the JVM to cool off I guess after start-up (so it feels) and the second one is that this might still be related to the bloody autocomplete + related Node.js libraries.
As anyone and their dog knows (since they all published one of the 40000+ node.js libraries doing roughly the same) node libraries are breaking left and right all the time. It would be far more likely than a memory/resource related error in JVM. Also because it is impossible to find any real trace of errors.
Maybe I could/should build a custom lein-light-nrepl and see if I can listen it out on that side better, since visualvm isn't getting me much more info - all is crisp and clean.

And... it is not the JVM either. It is actually LT which hangs but since it dies, it was hard to see it missing. On Linux it crashes (only the menu buttons still work the rest is unresponsive) but doesn't detach

What could cause the CPU to spike and then hang? I guess that definitely could be a Node.js thing. It seems related to UI too, as it is always on painting/drawing something (dropdown, instant result etc)

Well at least by now I am 100% sure I can avoid this, so it isn't in the volume of data per se as it is more in the (inline) display. I have no issue when I display a single zip/node the zip/root would crash it. It is consistent in 1 regard, always crashes on UI even when a large collection has already been processed. Which would be the case since the zip/root would take place after a loop/recur on the 5000 line XSD file XML parsed nodes. It has no problem dealing with any of it, using a predicate to return a specific node, but the end display entire tree would kill it on the spot. This data isn't fresh, the entire tree already has been processed. So from everything I can tell, the UI is actually causing it to crash with a black screen (hint!) of death.

I'm feel your pain and salute your determination to try to figure out a reproducible case. I'm also having random stalls at times. Not very often, but once or twice a week. I initially thought it was the autocompleter, but it's happening on my home computer which I do mostly Elm development on. I'm usually given a fore warning, things start to get increasingly slugish. Then I usually restart before it crashes.
This is deffo not the way it should be, but I'm having a hard time tracking down the culprit(s).

Hey rundis. It is ok now, it's basically just a discipline thing as I've been able to successfully avoid the issue by just taking more care of not showing too much data at once in the inline editor. Where Linux is near 99% of the times doing just fine, Windows really has some - what I think - screen painting issues. The lag is pretty big when I have a large chunk of data showing in the inline section so even when computation has already been done, it is impacting performance in a very noticeable manner. I just hit ctrl+i (clear inline) and the lag is gone. So definitely manageable as long as I just clean up and partition my data a bit more nicely, often by having some form of key access (hash-map) in place or using reducers to spread out some of the pain a little. Seems to work so far.

Ok so this is getting weirder. In the meanwhile, I've had it freeze once more unexpectedly (no workload, single key press (autocomplete?) triggered it so it seemed). In overall, with a little future here and there, as mentioned, I am able to avoid most crashes.
Just now I had a really weird thing happening, I was having LT open and using Chrome browser, all I did was (I think) alt+d to focus the address bar and a alert popped up and LT (!) crashed.
Checking my event log:
both event 26 at 1-2-2017 17:51:52 first WerFault.exe followed by not a chrome crash but a (background, unfocused) LT crash.
Application popup: WerFault.exe - Application Error : The application was unable to start correctly (0xc0000142). Click OK to close the application.

Application popup: chrome.exe - Application Error : The exception unknown software exception (0xe06d7363) occurred in the application at location 0x759e4878.

One second before that, we have a event 7036 where The Windows Error Reporting Service service entered the running state.
I've just disabled this in Action Center and see if it makes any difference. I've never had alert dialogs before nor did I found anything like these events after earlier crash investigations.
It could be unrelated but the effect is all the same: black screen, detached JVM - so mostly fust FYI - but remarkably I finally may have a perpetrator caught red-handed.

Seems we may have the actual source of the problem, I am less and less inclined to think this is with LT per se, ... https://github.com/RocketChat/Rocket.Chat.Electron/issues/150 Symptoms are all the same, massive windows issues with electron. I'll go and see what the actual cause was, when fixed and how our LT version holds up against that number. Could be yet another bug, or just that we don't have that version yet... we'll see.

Well, it isn't the disable-gpu setting, it still occurred after I hacked in that statement at main. But for the past two, three days I've been using boot and as such launch a middleware repl to which I connect from LT remote nrepl. I have been my usual 'reckless' self by displaying the result of large sets of data inline and have yet to witness or experience a single BSOD. Either using powershell or MinGW, once I have the project defined in a build.boot (whether this boot thing is what makes it not malfunction now, remains the question - lein target runner was usually if not always around during events) file, it just works like a bloody charm. It might also be that with the boot profile I've setup, I now include [lein-light-nrepl "0.2.0"] explicitly in ~/profile.boot with a task I run with a custom but consistent port. Although I do find JVM's detaching as zombies left and right (boot often results in one too, or at least when you abort it a bit too suddenly).
From what I can tell, I didn't need to have a lein-light-nrepl explicit reference in a profile and had long removed that, but it might be that the problem could lay in a version issue with the reader or something else often found to be the culprit in these cases.
From what I can see in the changelog: UPDATED: lein-light-nrepl 0.0.8 was the latest change, so it wouldn't surprise me one bit that it could be the origin of my issues. As far as I'm concerned, my issues with LT on Windows finally seem over (for now) :)

What I suspected, seems to be the case. The detached JVM appears to be caused by failure to properly handle a socket disconnect. That is to say, something breaks, the client crashes and the server fails to realize this. Often I've had JVM running with CPU usage which became detached.
At an earlier point I arrived at this gut feeling, when tracking down other messages in LT console. This one came from the boot REPL  java.net.SocketException: Socket closed java.net.SocketException: Socket closed and this is a open issue https://github.com/socketio/socket.io-client-java/issues/123

Some more information from the repl:
boot.user=> Uncaught exception in thread Thread-15:
                              ←[37mjava.lang.Thread.run←[m  ←[32m
                                               ←[37m...←[m  ←[32m
                           ←[33mboot.core/watch-dirs/←[1;33mfn←[m  ←[32m
                ←[33mboot.core/set-user-dirs!/←[1;33mon-change←[m  ←[32m
                         ←[33mboot.core/←[1;33msync-user-dirs!←[m  ←[32m
                                               ←[37m...←[m  ←[32m
                                  ←[33mboot.core/←[1;33mpatch!←[m  ←[32m
                                               ←[37m...←[m  ←[32m
                            ←[33mboot.filesystem/←[1;33mpatch!←[m  ←[32m
                                               ←[37m...←[m  ←[32m
                             ←[33mboot.filesystem/←[1;33mcopy!←[m  ←[32m
                          ←[37mjava.nio.file.Files.copy←[m  ←[32m
         ←[37msun.nio.fs.WindowsFileSystemProvider.copy←[m  ←[32mWindowsFileSyst
                   ←[37msun.nio.fs.WindowsFileCopy.copy←[m  ←[32m          Windo
  ←[37msun.nio.fs.WindowsException.rethrowAsIOException←[m  ←[32m         Window
  ←[37msun.nio.fs.WindowsException.rethrowAsIOException←[m  ←[32m         Window
←[37msun.nio.fs.WindowsException.translateToIOException←[m  ←[32m         Window
←[1;31mjava.nio.file.FileSystemException←[m: ←[3m\Users\rje\cache\tmp\s
                                   ←[m
      ←[1mfile←[m: "\\Users\\rje\\cache\\tmp\\src\\clj\\cljcz\\t0\\r3nb
    ←[1mreason←[m: "The process cannot access the file because it is being used
java.net.SocketException: Socket closedjava.net.SocketException: Socket closed

Now I recon it could be that my use of Process Monitor runs interference, I am not sure. But it seems on a first glance, we don't properly check if files can be written to when caching data.   Conclusion could pretty much end there I guess: windows sucks at times (being generous). I'll take a look at some of LT's caching code sometime soon. Either way, be it my tool causing this or not, the effect or symptoms are the same: BSOD + detachment. It wouldn't be unthinkable someone forgot a check on that or the file is "busy" unexpectedly long, to have anticipated on all these things especially for windows since pretty much no one on the LT team used it for development, I am sure.
For the enthusiasts, a small screenshot of the event:

AFAIK https://github.com/LightTable/LightTable/blob/8db0585cfaa857e594149be6833fe7f82bcc9616/src/lt/objs/files.cljs#L380 does not check for writable file state before attempting it. The try...catch suggests this isn't a very optimized fn to begin with. Of course there could be several reasons why a write fails but I presume it doesn't have to check if a file actually exists, if save makes a new file or plain overwrites any existing.
However, I would say that IF it does exist, it should be writable and if it doesn't (following logic above to create when non-existing) at least have a direct parent that is writable. Problem you end up with is to answer what you should do when something is not writable. Keep trying until it does?
The actual culprit might be that several threads are involved in processing large chunks of data and if they all try to use the same cache file, would possibly create problems due to race conditions, fs/physical disk latency writing etc, yes?
Assuming that the windows process takes longer (sometimes until after reboot) before it will 'free' up a busy fs resource (locked file, admin can't even delete problem) explains why this would be found solely on Windows. Assuming they all try to write the same file, without the locking problem, chances you will actually race on the same write access would be a whole lot less to practically almost never occur. Just a theory trying to make sense of this with my limited understanding of low-level OS/Windows operations.

You might be able to test this theory by writing a little snippet of code that attempts to save, and then throw in some logging for the callback you provide. I believe the callback is called even with an error.
If the save function is getting hammered, it may indeed cause a problem... though using .writeFileSync inside the save function could prevent locking (not certain). In any case, excessive calls to save in a short span of time is probably a bad thing.

I noticed that on windows Lighttable is using 32bit electron even if you run 64bit windows.
Do you experience these lockups on 64 bit Lighttable as well?
I build in MinGW instead of cygwin so maybe thats why the arch lookup does not work as it should?
You can get Lighttable in 64bit by hardcoding
deploy\electron\node_modules\grunt-download-electron\tasks\download-atom-shell-task.coffee
getArch = ->
'x64'
rm -rf deploy/electron/electron
You might also need to remove folder "downloaded-electron" from you temp folder if you have built LT before.
script/build.sh

I have this exact problem with LightTable 0.8.1 on Ubuntu 16.04 running in a VM.
I can however reproduce the issue very easily and it is definitely caused by the autocomplete.
To reproduce:

Create empty file e.g. test.yml
Add these lines:

---
    # Long string e.g. OPs original message base64 encoded
    base64: SGksIEkgYW0gY3VycmVudGx5IHdyaXRpbmcgYSBjbG9qdXJlIHR1dG9yaWFsIGZvciB3ZWJhcHBzIHVzaW5nIExUIDAuOC4xIG9uIFdpbmRvd3MgYW5kIGVuY291bnRlcmVkIGEgZnJlZXplIHdpdGhpbiBMVC4NCldoZW4gSSB0cnkgdG8gY2hhbmdlIHRoZSBmb2xsb3dpbmcgbGluZSBMVCBmcmVlemVzIGFuZCBkaWRuJ3QgcmVjb3Zlci4gKHJlbW92ZSBsb2duYW1lIGFuZCAiLyIgd29ya3MsIGJ1dCBhZGRpbmcgdGV4dCBiZXR3ZWVuIHRoZSBzdGFycyBub3QpDQoocHJpbnRsbiAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8iIGxvZ25hbWUpKSkpDQpzbyBjaGFuZ2luZyB0bw0KKHByaW50bG4gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIpKSkpDQp3b3JrcyBidXQgd2hlbiBJIHRyeSB0byBlbnRlciBhIGNoYXIgbGlrZQ0KKHByaW50bG4gIioqKioqKioqKioqKioqRSoqKioqKioqKioqKioqKioiKSkpKQ0KaXQgZnJlZXplcy4gKEFmdGVyIGxpdHRsZSB0aW1lIHRoZSB3b3Jrc3BhY2UgdHVybnMgYWxsIGJsYWNrLCBJIHdhaXRlZCAxMCBtaW51dGVzIGJ1dCBpdCBkaWRuJ3QgcmVjb3Zlci4pDQoNCkZ1bGwgZnVuY3Rpb246DQoNCjs7IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKkxPR0dJTkcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KKGRlZm4gZm9ybWF0LWxvZ3MgW2xvZ25hbWUgcmVxdWVzdCBzdHJpcGVkLWtleXMgc3RyaXBlZC1oZWFkZXJzIHdpdGgtYm9keV0NCiAgKGxldCBbd2l0aG91dC1zdHJpcGVkLWtleXMgKHJlZHVjZSBkaXNzb2MgcmVxdWVzdCBzdHJpcGVkLWtleXMpDQogICAgICAgIHdpdGhvdXQtc3RyaXBlZC1rZXlzLWFuZC1oZWFkZXJzIChyZWR1Y2UgKGZuIFtoZWFkZXJzIHRvLXJlbW92ZV0gKHVwZGF0ZS1pbiBoZWFkZXJzIFs6aGVhZGVyc10gZGlzc29jIHRvLXJlbW92ZSkpIHdpdGhvdXQtc3RyaXBlZC1rZXlzIHN0cmlwZWQtaGVhZGVycykNCiAgICAgICAgYm9keSAocmVxdWVzdCA6Ym9keSldDQogICh3aXRoLW91dC1zdHINCiAgICAocHJpbnRsbiBsb2duYW1lICI6ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIpDQogICAgKGNsb2p1cmUucHByaW50L3BwcmludCB3aXRob3V0LXN0cmlwZWQta2V5cy1hbmQtaGVhZGVycykNCiAgICAoaWYgKHRydWU

Now start typing the word TEST - The long string above appears in the autocomplete (no idea why as TEST does not appear in that string), but everything is still responsive
Move the cursor to the middle of the string and start adding X e.g. TEXXXST
After about 5 Xs LT starts to become sluggish and gets worse with every extra character, after about 10 the autocomplete goes away and the response is normal.
Delete the Xs and the slow response returns
If you try something more textual i.e. that has more hits within this large string LT freezes and wont come back. In this test I found TEggggggggST did it for me.

My suggestion would be to not add strings over about 20 chars (defined in config) to the autocomplete

Ah, that's interesting! Thank you for the thorough report on how to reproduce it.

I'd really like a work-around if there is one as 3 of the 4 scripts I have contain a base64 string. The best I have for now is to cut the line out of the script while I edit, then paste it back before I save. I would live without autocomplete if there is an option to turn that off.
If you need any further details just ask.

You might be able to bypass this by updating your user.behaviors file (Settings: User behaviors) to turn off auto-complete related behaviors. For instance,
[:editor :-lt.plugins.auto-complete/auto-show-on-input]
[:editor :-lt.plugins.auto-complete/show-hint]

Will prevent autocomplete from appearing.
At the moment, I can't say if disabling those behaviors (or all autocomplete behaviors) would prevent autocomplete from executing internally but it might be worth a try.
The autocomplete file is: https://github.com/LightTable/LightTable/blob/master/src/lt/plugins/auto_complete.cljs
Hopefully that helps in the short term.

I can confirm that putting either or both of those lines in the behaviors file prevents the auto-complete popup appearing and the bug does not occur.
Not hanging every time I enter a character in a file with a long line is far better than auto-complete.
I don't know clojure at all so it is very hard for me to comment on the inner workings of the auto_complete file. Having said that I did browse it quickly and this section jumped out at me.
(behavior ::set-hint-limit
          :triggers #{:object.instant}
          :type :user
          :desc "Auto-complete: Set maximum length of an autocomplete hint"
          :params [{:label "Number"
                    :example 1000}]
          :reaction (fn [this n]
                     (object/merge! this {:hint-limit n})))

My best theory of the bug is the long line is getting added to the auto complete when it shouldn't,  because of its length. The matching process that decides if a string should appear in the auto complete list reaches a limit (might be that 1000 or something else) then incorrectly assumes it matches rather than rejecting it. As you add more characters to your typed string, the number of times the long string needs to be searched/merged increases exponentially until you blow the heap.
If I had the time/inclination/enthusiasm I would try changing that 1000 to 5 and see what it did. I'd expect that every word over 5 chars would be added to the auto-complete list irrespective of the characters I was typing (but most of that is simply based off the :desc of this function). If true I'd fix the code so that doesn't happen and reduce the value to 20. ... but I know nothing!

Glad to hear that workaround works!
I believe you can even modify that set-hint-limit behavior in the users.behaviors file by including two parameters... but I am not sure offhand what the syntax for the parameters would look like. I can give it a try tonight.

[:editor :-lt.plugins.auto-complete/show-hint]
This workaround has the unfortunate effect of preventing tab working (I have replace tab with spaces, not sure if that is important). Using the other behaviour line works without this side effect.


Add  description fields to globalConfiguration and reRoutes

Proposed Changes
-Add a description field to facilitate management of gateways and routes, and distinguish between gateways and routes displayed by the WebUI. Otherwise, the routes cannot be effectively distinguished when there are too many routes.

please open PR again against master branch


feat: Improve CometHashJoin statistics

Which issue does this PR close?

Closes #308 .
Rationale for this change

Add all statistics HashJoinExec datafusion node provides.
What changes are included in this PR?

All available metrics
/// Total time for collecting build-side of join
pub(crate) build_time: metrics::Time
/// Number of batches consumed by build-side
pub(crate) build_input_batches: metrics::Count,
/// Number of rows consumed by build-side
pub(crate) build_input_rows: metrics::Count,
/// Memory used by build-side in bytes
pub(crate) build_mem_used: metrics::Gauge,
/// Total time for joining probe-side batches to the build-side batches
pub(crate) join_time: metrics::Time,
/// Number of batches consumed by probe-side of this operator
pub(crate) input_batches: metrics::Count,
/// Number of rows consumed by probe-side this operator
pub(crate) input_rows: metrics::Count,
/// Number of batches produced by this operator
pub(crate) output_batches: metrics::Count,
/// Number of rows produced by this operator
pub(crate) output_rows: metrics::Count

How are these changes tested?

Unit testing and manual testing

Merged. Thanks @planga82


Suggestion: event when initialization completes

It would be helpful for our app to know when calcite.init() is done.

This project is deprecated - closing this.


Update signature to use async/await for koa@2

As stated by @dead-horse in https://github.com/koajs/ratelimit/pull/21#issuecomment-227956911, rewriting with async/await in mind for koa@2.

@ruimarinho 👍

land ce66c476fb774991a054096d6d0a67850582b1b6
4.0.0 published


Add comments counter

Even if the API gives you the number of comments you will create a specific function to calculate it.
Make sure that the correct number is displayed on the Comments pop up.
Respect the following rules:

Each counter should be implemented as a separate module.

A counter function should look for specific DOM elements (e.g. for the comments counter it should look for comments) and make the counting based on what is actually displayed on the page.

A counter function should cover all the edge cases you can think about.

Hi @Sparktan24 ,
Your project is complete! ⚡🔥  There is nothing else to say other than... it's time to merge it
Congratulations! 🎉
Highlights 🎉🔥

Implemented functionality ✔
No linter errors ✔

Optional suggestions ☂
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you take them into account as they can make your code better. Some of them were missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think the code review was unfair, you can request a second opinion using this form.


Fix: passwordHash is not imported

server will throw exception on database init as passwordHash is not defined.

omg thanks


WebExt causes anchor link jumps to wrong position

Platform
Which platform does the bug apply to?

WebExtension (Google Chrome, Mozilla Firefox)

Describe the bug
When the WebExt is installed on browser, it affects some webpages and makes anchor links jump to wrong position.
To Reproduce
Steps to reproduce the behavior:

Install the webext (I tested on Chrome and Firefox)
Open https://github.com/rubygems/rubygems/pull/1191#issuecomment-84066938 , or any github link that is with an anchor.

Expected behavior
The page should be displayed with the highlighted comment aligned with the top hover bar:

However, when wappalyzer webext is installed, the alignment is wrong:

Also, even if you "disable on this website" for GitHub, this bug still happens.

Seems like this issue was introduced in the latest update.

This bug still exists.


Loading saved model with TextVectorization layer throws exception

System information.
Google Colab (also on own system, Linux Ubuntu 20.04, tf 2.7.0)
Describe the problem.
Loading a saved model which includes a TextVectorization layer throws an exception (tested with tf 2.7 and 2.6). The stacktrace points to another layer in the model, but only removing the TextVectorization layer solves the problem.
Describe the current behavior.
Throws an exception
TypeError: Exception encountered when calling layer "flatten" (type Flatten).

Failed to convert elements of tf.RaggedTensor(values=Tensor("Placeholder:0", shape=(None, 64), dtype=float32), row_splits=Tensor("Placeholder_1:0", shape=(None,), dtype=int64)) to Tensor. Consider casting elements to a supported type. See https://www.tensorflow.org/api_docs/python/tf/dtypes for supported TF dtypes.

Call arguments received:
  • inputs=tf.RaggedTensor(values=Tensor("Placeholder:0", shape=(None, 64), dtype=float32), row_splits=Tensor("Placeholder_1:0", shape=(None,), dtype=int64))

Describe the expected behavior.
Model should be loadable with TextVectorization Layer, as used in some of the tutorials on keras.io
Standalone code to reproduce the issue.
Notebook with example:
Model without TextVectorization Layer is loadable, model including TextVectorization throws exception
https://colab.research.google.com/drive/1gjW5f9oRbkFfirAftzmVqppS7nsC5Q-E?usp=sharing

@mattdangerw can you take a look? Perhaps this can be covered as part of the effort to add RaggedSupport to layers (cc @haifeng-jin)

@lrwagner Looks like this was already resolved in recent tf-nightly. Here is a gist for reference.
May this code fix https://github.com/tensorflow/tensorflow/commit/d3b6494e82085a397bad2260a43ea6769aa20f5d might have fixed the bug in the code. Thanks

I can confirm it works when using tf-nightly!

for epoch in range(EPOCHS):
start = time.time()
train_loss.reset_states()

for (batch, (inp, tar)) in enumerate(dataset):
    train_step(inp, tar)

    # 55k samples
    # we display 3 batch results -- 0th, middle and last one (approx)
    # 55k / 64 ~ 858; 858 / 2 = 429
    if batch % 429 == 0:
        print ('Epoch {} Batch {} Loss {:.4f}'.format(epoch + 1, batch, train_loss.result()))

if (epoch + 1) % 5 == 0:
    ckpt_save_path = ckpt_manager.save()
    print ('Saving checkpoint for epoch {} at {}'.format(epoch+1, ckpt_save_path))

print ('Epoch {} Loss {:.4f}'.format(epoch + 1, train_loss.result()))

print ('Time taken for 1 epoch: {} secs\n'.format(time.time() - start))

TypeError                                 Traceback (most recent call last)
 in ()
5
6     for (batch, (inp, tar)) in enumerate(dataset):
----> 7         train_step(inp, tar)
8
9         # 55k samples
4 frames
 in call(self, x, training, mask)
13
14     def call(self, x, training, mask):
---> 15         attn_output, _ = self.mha(x, x, x, mask)
16         attn_output = self.dropout1(attn_output, training=training)
17         out1 = self.layernorm1(x + attn_output)
TypeError: Exception encountered when calling layer "encoder_layer_4" (type EncoderLayer).
cannot unpack non-iterable NoneType object
Call arguments received:
• x=tf.Tensor(shape=(64, 400, 128), dtype=float32)
• training=True
• mask=tf.Tensor(shape=(64, 1, 1, 400), dtype=float32)

for epoch in range(EPOCHS): start = time.time()
train_loss.reset_states()

for (batch, (inp, tar)) in enumerate(dataset):
    train_step(inp, tar)

    # 55k samples
    # we display 3 batch results -- 0th, middle and last one (approx)
    # 55k / 64 ~ 858; 858 / 2 = 429
    if batch % 429 == 0:
        print ('Epoch {} Batch {} Loss {:.4f}'.format(epoch + 1, batch, train_loss.result()))

if (epoch + 1) % 5 == 0:
    ckpt_save_path = ckpt_manager.save()
    print ('Saving checkpoint for epoch {} at {}'.format(epoch+1, ckpt_save_path))

print ('Epoch {} Loss {:.4f}'.format(epoch + 1, train_loss.result()))

print ('Time taken for 1 epoch: {} secs\n'.format(time.time() - start))

TypeError Traceback (most recent call last) in () 5 6 for (batch, (inp, tar)) in enumerate(dataset): ----> 7 train_step(inp, tar) 8 9 # 55k samples
4 frames in call(self, x, training, mask) 13 14 def call(self, x, training, mask): ---> 15 attn_output, _ = self.mha(x, x, x, mask) 16 attn_output = self.dropout1(attn_output, training=training) 17 out1 = self.layernorm1(x + attn_output)
TypeError: Exception encountered when calling layer "encoder_layer_4" (type EncoderLayer).
cannot unpack non-iterable NoneType object
Call arguments received: • x=tf.Tensor(shape=(64, 400, 128), dtype=float32) • training=True • mask=tf.Tensor(shape=(64, 1, 1, 400), dtype=float32)

I think this might not be related to my original issue


move hosting of kg2-simplified.json.gz back to private S3 bucket

Yes, this issue is to reverse RTX issue 1264. Circumstances have changed since last February. For the gory details, see the issue 1264 thread or the rtx-kg2 channel on the ARAXteam Slack workspace.

N.B.:  I manually moved kg2-simplified.json.gz  from the rtx-kg2-public bucket to the rtx-kg2 bucket on August 30 at 16:28 PDT. This means that the modification time for that file is now showing up in S3 as "August 30" even though the KG2.7.2 build was completed on August 10th.

Confirmed fixed in the KG2.7.3 build.


re-enable DML GQA fast path

We can't merge this until we fix the regression in DML and release the next version.


ImportError: libjpeg.so.8: cannot open shared object file: No such file or directory

I am attempting to install geonotebook on ubuntu 16.04 following the installation instructions instructions in the readme
I have successfully installed the prerequirements and requirements
pip install -r prerequirements.txt
pip install -r requirements.txt
pip install .

When I attempt to activate the extensions with the following I run into errors:
jupyter serverextension enable --sys-prefix --py geonotebook
jupyter nbextension enable --sys-prefix --py geonotebook

Errors:
 ubuntu@ip-10-0-10-155:~/jpeg-8d$ jupyter nbextension enable --sys-prefix --py geonotebook
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/python2/bin/jupyter-nbextension", line 11, in <module>
    sys.exit(main())
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/notebook/nbextensions.py", line 969, in start
    super(NBExtensionApp, self).start()
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/jupyter_core/application.py", line 256, in start
    self.subapp.start()
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/notebook/nbextensions.py", line 877, in start
    self.toggle_nbextension_python(self.extra_args[0])
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/notebook/nbextensions.py", line 853, in toggle_nbextension_python
    logger=self.log)
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/notebook/nbextensions.py", line 459, in enable_nbextension_python
    logger=logger)
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/notebook/nbextensions.py", line 374, in _set_nbextension_state_python
    m, nbexts = _get_nbextension_metadata(module)
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/notebook/nbextensions.py", line 1140, in _get_nbextension_metadata
    m = import_item(module)
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/traitlets/utils/importstring.py", line 42, in import_item
    return __import__(parts[0])
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/__init__.py", line 6, in <module>
    from .config import Config
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/config.py", line 79, in <module>
    Config.register_vis_server(ep.name, ep.load())
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg/pkg_resources/__init__.py", line 2258, in load
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg/pkg_resources/__init__.py", line 2264, in resolve
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/vis/__init__.py", line 1, in <module>
    from .geoserver import Geoserver
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/vis/geoserver/__init__.py", line 1, in <module>
    from .geoserver import Geoserver
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/vis/geoserver/geoserver.py", line 4, in <module>
    from geonotebook.wrappers import RasterData
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/wrappers/__init__.py", line 1, in <module>
    from .raster import RasterData, RasterDataCollection
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/wrappers/raster.py", line 177, in <module>
    RasterData.discover_concrete_types()
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/wrappers/raster.py", line 29, in discover_concrete_types
    cls.register(ep.name, ep.load())
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg/pkg_resources/__init__.py", line 2258, in load
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg/pkg_resources/__init__.py", line 2264, in resolve
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/geonotebook/wrappers/file_reader.py", line 8, in <module>
    import rasterio as rio
  File "/home/ubuntu/anaconda3/envs/python2/lib/python2.7/site-packages/rasterio/__init__.py", line 15, in <module>
    from rasterio._base import (
ImportError: libjpeg.so.8: cannot open shared object file: No such file or directory

I am having a heck of a time tracking down what libjpeg.so.8 is and now to install it.  Do you have any context that many help me out?

Found a fix:
sudo apt-get install libjpeg-turbo8

A similar issue is posted here. I am glad you figured it out.

That or compiling from source works too: http://www.ijg.org/files/
Make sure to use jpegsrc.v8.tar.gz if you're on a Unix like system though (jpegsr8.zip appears to be the MS version, throws all standard formatting errors while building :/ )


Upgrade hibernate-core to latest released version

I'd like to be able to programmatically set the time zone that JDBC uses, but this functionality wasn't introduced until HIbernate 5.2.3 (see http://in.relation.to/2016/09/12/jdbc-time-zone-configuration-property/). I'm happy to make the (small) change in a PR. Would this be something that could be included in 1.0.6?

Nevermind, just saw #1871...


error: Compiling of app/vendor.ts failed. Cannot read property 'resolvedModule' of undefined

Hi everyone, I'm trying to import libs in npm_modules via import keyword but had the next error: "error: Compiling of app/vendor.ts failed. Cannot read property 'resolvedModule' of undefined".
In my fork of the plugin I added some fixes than solve 'resolvedModule' issue.
https://github.com/davidjsalazarmoreno/brunch-typescript/blob/master/index.js#L14
https://github.com/davidjsalazarmoreno/brunch-typescript/blob/master/index.js#L58
But seems not work with latest versions of brunch plugin, the error aparently gone but not produce any javascript file from .ts with node_modules imports.
You can see the issue in this repository: https://github.com/davidjsalazarmoreno/brunch-typescript-issue
tsconfig: https://github.com/davidjsalazarmoreno/brunch-typescript-issue/blob/master/tsconfig.json
brunch-config: https://github.com/davidjsalazarmoreno/brunch-typescript-issue/blob/master/brunch-config.js
Thanks everyone.

I too am running into problems with the latest version. It cannot find any of my relative imports. I just isolated it to the brunch-typescript plugin now. I will try and see if I can come up with an isolated test after dinner. :hamburger:

@speg @davidjsalazarmoreno please revert to 1.8.1 for the time being.

I agree revert to 1.8.1 for now. Even if this was working properly I suspect this change will be breaking for some people where certain errors were being ignored. Unfortunately this project doesn't really follow SemVer.
The TypeScript compiler spits out a bunch of errors when operating in single module mode which can be ignored, I've clearly not filtered out all of them. Let me look into this one.

I've isolated it down to this line! I created a PR #14 that removes it. Maintains fix for #11 .

OK, so, @davidjsalazarmoreno your issue isn't related to 1.8.2 (although at some point it probably would have given you trouble). Your issue is because you have "moduleResolution": "node" in your tsconfig.json file. It looks like this causes issues when using the compiler API as we do. Only it isn't reported as a compiler error, it is an actual runtime error, so it was bubbling up before this change. This is fixable on your part for the moment by removing that from your tsconfig or overriding it in the brunch-config.js file with:
plugins: {
  brunchTypescript: {
    moduleResolution: undefined
  }
}

However, I will also make sure in future versions we strip this option out before passing them into the compiler.
@speg Your issue is similar but different. It is an error which occurs because we are compiling one module at a time and can be ignored. I'll fix that too.

@paulmillr I'm not sure if these errors are really going to provide a huge value since they don't consider the other files when they compile. So if you have a type violation within a single file, it will flag that, but if you import a function from another file and use it with incorrect types, it doesn't know about it or raise any issue with that.
Similarly, it isn't aware of any globals or anything like that, so I'll have to ignore the "Can't find name" error outright.
I'm sure we can get the compiler to consider the other files, but that would slow things down a fair bit I would imagine.
At the moment, we can remove the errors, log them without failing, or we could allow people to specify error numbers they want to ignore.
/cc @baptistedonaux

@colinbate thank you, your solution works for me, the error has gone and de import works correctly, now I can import modules from node_modules.


[Bug] Glyphs are sometimes slightly cropped on the edges (Texting).

Texting renderer seems to be one-pixel off in some situations (observable in Grapito menus for example).
Some investigations might be required, the pen initial position seems to have an impact.
Starting to extend sample/Texting to offer fine control of pen position (e.g. keyboard directions) might be a good reproduction environment.

Solved as part of shredeagle/graphics#16


Styling

In this project apply the following feature :100:

Apply basic styling :+1:
Use webpack :+1:
Use Linters :+1:

thanks for the suggestion.


[Bug] Connot select row after loading

Hello,
I’m currently using PlutoGridPlus (https://pub.dev/packages/pluto_grid_plus/). Thank you for continuing to maintain the package.
I have a short question: how can I select the row when using PlutoLazyPagination with via Flutter?
stateManager?.setCurrentSelectingRowsByRange(widget.rowId, widget.rowId);
is currently not working.
The code snipped is provided below, how I tried to implement it. Any advise is welcome.
Steps to reproduce the bug

Load from a REST API data in LayzLoading
in the method onLoaded set the SelectingMode to Row
Set row via setCurrentSelectingRowsByRange(row, row)

Expected results

row is selected in the PlutoGrid

Actual results
Nothing happens
Code sample
PlutoGrid(
    // 'key' is necessary to enable re-rendering when calling
    //_buildTable() during state change of 'currentViewType'
    key: plutoKey,
    mode: PlutoGridMode.selectWithOneTap,
    configuration: widget.config,
    columns: widget.columns,
    rows: _rows,
    onLoaded: (PlutoGridOnLoadedEvent event) {
      stateManager = event.stateManager;
      stateManager?.setShowColumnFilter(true);
      stateManager?.setSelectingMode(PlutoGridSelectingMode.row);
      stateManager?.setCurrentSelectingRowsByRange(widget.rowId, widget.rowId);
    },
    onSelected: widget.onSelected,
    onChanged: (PlutoGridOnChangedEvent event) {
      debugPrint('PlutoList - onChange: ${event.toString()}');
    },
    createFooter: (stateManager) {
      return PlutoLazyPagination(
        initialPage: widget.page ?? 1,
        initialFetch: true,
        fetchWithSorting: true,
        fetchWithFiltering: true,
        fetch: fetchGridData,
        stateManager: stateManager,
      );
  });

Execution Environment
Flutter version
[√] Flutter (Channel stable, 3.16.8, on Microsoft Windows [Version 10.0.22621.3007], locale de-DE)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[√] Chrome - develop for the web
PlutoGrid version
PlutoGrid version is 8.2.0
OS
Windows 10

onLoaded only gets called once when the grid is initialized. I think you are trying to select rows before they are populated into the table. You should wait till the data has been fetched and the table has been populated before selecting the rows. Also, I don't think multiselect works with PlutoGridMode.selectWithOneTap.

Hi together,
thank you for your help! It pointed me to the right direction. Indeed with PlutoGridMode.selectWithOneTap calling stateManager?.setCurrentSelectingRowsByRange has no effect. If I select PlutoGridMode.normal, then I can use the method. But this did not solve my problem, as I wanted to select a row in mode PlutoGridMode.selectWithOneTap. What is working for me is
onLoaded: (PlutoGridOnLoadedEvent event) {
     stateManager = event.stateManager;
     stateManager?.setShowColumnFilter(true);
     stateManager?.setSelectingMode(PlutoGridSelectingMode.row);
     Future.delayed(Duration(seconds: 2), () {
       var cell = stateManager?.firstCell;
       stateManager?.setCurrentCell(cell, 0);
       stateManager?.setAllCurrentSelecting();
     });
   };

Is there a way to replace the Future.delayed to something more event driven? The Future is only working anyhow, if the server responds within the 2 seconds.

You can create your pluto grid inside a futurebuilder, so then it will only build after the server response arrives

onLoaded will be fired before your data comes from the server.
run the code
var cell = stateManager?.firstCell;
stateManager?.setCurrentCell(cell, 0);
stateManager?.setAllCurrentSelecting();

When fetchGridData is completed.


WIL headers and C++ static analysis don't always get along

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

/azp run cpp - attestation

/azp run cpp - core

/azp run cpp - core

/azp run cpp - core

/azp run cpp - identity - ci


[WIP] add CI agent entrypoint script for installing latest coda tools (e.g. coda-logproc, coda-create-genesis)

Install for access by jobs/troubleshooting purposes.
consists of the following EXEs:
ls /usr/local/bin/coda*
/usr/local/bin/coda  /usr/local/bin/coda-create-genesis  /usr/local/bin/coda-libp2p_helper  /usr/local/bin/coda-logproc

Test: Buildkite CI
Checklist:

[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

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

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

Added in #7743


Upgrade transforms without upgrading the pipelines

This uses the Beam Transform Service [1] to support upgrade Beam Java transforms used by pipelines without upgrading the Beam version used by the pipelines.
A similar solution can be introduced for other SDKs in the future.
For more details please see https://github.com/apache/beam/issues/27943.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Also confirmed that this work for Dataflow by running a pipeline that upgrades the Create transform to a version available in an expansion service.
https://console.cloud.google.com/dataflow/jobs/us-central1/2023-09-12_15_32_47-10327070264136367924?project=apache-beam-testing
cc: @kennknowles

Friendly ping :)

Thanks.


Slide styling

Is there an option to style the Slide per theme?

I'm interested in this too, especially in setting background image for slide.

You can use per-slide layouts to change colors, add background images, etc.
https://github.com/jxnblk/mdx-deck#layouts

Yes, I ended using per-slide Layout, but IMHO it's not convenient to add custom Layout to every slide just to set background image.
Problem is, that if you define background image on theme level (and set it to background-size:cover), then it's looking ok in HTML, but in PDF image is stretched across all slides.
So style that will be defined globally in theme, but applied to every slide item, would be helpful.
Maybe it's just matter of exposing some class names for styling?

This might be something to consider for the next major version, but I don’t think exposing classNames as part of the public API is good idea

@jxnblk wouldn't it be an option just to pass in the style (via API) to the root  and if you don't the default styling kicks in. This would not break with existing users and people can still do what they want if they need to.

@signalwerk  do you have an example of per slide styling using Layouts?

@mrcasablr In the doc you find the section Layout

You could define your own Provider (docs) (assuming you're using the latest version).
import React, { useEffect } from 'react'

export function BackgroundProvider ({ children }) {
  useEffect(function BGIEffect () {
    document.body.style.background = `url('assets/bg-image.jpg')`
    document.body.style.backgroundRepeat = 'no-repeat'
    document.body.style.backgroundPosition = 'center'
    document.body.style.backgroundSize = 'cover'
  })
  return <>
    { children }
  </>
}

Then inside theme.js:
import { BackgroundProvider as Provider } from './components/BackgroundProvider'

export const customTheme = {
  font: 'Roboto, sans-serif',
  colors: {
    text: '#ffffff',
    background: 'transparent'
  },
  Provider
}

Note that for this to work, your provider must be set to the key Provider in your theme. You also need to get the background to transparent in your theme.
It might not be the best solution but it's worked well for me so far :confetti_ball:

The Slide component can now be styled in v2 themes, see https://github.com/jxnblk/mdx-deck/blob/master/docs/theming.md#reference

For those who cannot upgrade to v2 yet (such as users of code-surfer), here's an ugly temporary workaround / hack for styling Slides with a provider (haven't tested this extensively yet):
Provider.js
import React from 'react';

export default function Provider({ children }) {
  return (
    <>
      {/*
        Hack to give Slide components a relative
        position (for absolute positioning further
        down)
      */}
      <style
        dangerouslySetInnerHTML={{
          __html: `
            [class^="Slide__Root-"] {
              // Your styles here
            }
          `,
        }}
      />
      {children}
    </>
  );
}

theme.js
import { default as theme } from 'mdx-deck/themes';
import Provider from './Provider';

export default {
  ...theme,
  Provider,
};


HTTP events deployment overrides existing API's

Hi,
Let say, we have two project with two serverless.yaml file. deploy in one project replace all deployed API's in another project.
this is because you are using swagger. if you are using swagger openwhisk will replace all existing API.

To overcome this issue, either you shouldn't use swagger or use should create a swagger with already existing api details, so it will create all API's again.

Im closing this issue, because we can avoid this by giving basepath in resource->basepath.


Fix crash on DataNull value supplied to python function

See #107 for issue.
Added check for DataNull parameter which will be accepted
Updated relevant Unit Tests

replaced with PR #110


sql-docs/docs/integration-services/devops/ssis-devops-overview.md limitation updates

Windows 2016 is deprecated and will be removed Tomorrow (2022/04/01)
Doc still suggest to use
SSIS Build task relies on Visual Studio and SSIS designer, which is mandatory on build agents. Thus, to run SSIS Build task in the pipeline, you must choose vs2017-win2016 for Microsoft-hosted agents, or install Visual Studio and SSIS designer (either VS2017 + SSDT2017, or VS2019 + SSIS Projects extension) on self-hosted agents.
going forward, is there any update on docs, how to use Microsoft-hosted agents from tomorrow morning as the statement will be invalid.

https://docs.microsoft.com/en-us/lifecycle/products/windows-server-2016
Windows Server 2016 is still supported. Not a docs issue. Closing for now.
#reassign:VanMSFT

@mmercan - Can you please clarify where you see it deprecated on 4/1/22? Is the option no longer available in the tool for selection, or are the jobs using that configuration failing? Is Windows 2019 an option that you can use?

@mmercan - I see it mentioned here, but that it has been postponed. https://github.com/actions/virtual-environments/issues/5403. Thanks for bringing up this issue.
Since this is still valid, and support for windows-2019 is available according to the product page, https://marketplace.visualstudio.com/items?itemName=SSIS.ssis-devops-tools, I'll close this thread.
@chugugrace - Grace, please confirm any upcoming support for the SSIS DevOps Tools, and make the necessary changes in Docs. Thanks!


Issue28 add extra tests to check files returned match the labels

Closes #28

Taken the xfail mark off the mdrun tests. These are failing on GH but not locally. A solution will be coded up in future.


interactive branch bevy 0.12

Xpbd example works but tends to freeze and occasionally panic after a bit (but it had the same issues for me with xpbd 0.2).
Interactive example still needs some dependency updates.

for Bevy 0.13: https://github.com/vleue/vleue_navigator/pull/24


AddGeneCoord.pl fails to populate HLA-HFE coordinates

I've been testing out the software, and I noticed a discrepancy in HLA-HFE between using a BAM and FASTQ input. Where the FASTQ input would report high abundance and quality, the BAM input would report nothing. I looked through all the read assignments from the FASTQ results, and each one maps to the HFE gene on chr6: https://useast.ensembl.org/Homo_sapiens/Gene/Summary?db=core;g=ENSG00000010704;r=6:26087226-26098343.
In your manuscript HLA files (https://github.com/mourisl/T1K_manuscript_evaluation/blob/master/hlaidx_3_44_0.tar.gz) as well as ones I made following the documentation directions, HLA-HFE receives no mapping in the coordinate files:
>HLA-HFE*001:01:01 chr19 -1 -1 +
>HLA-HFE*001:01:02 chr19 -1 -1 +
>HLA-HFE*001:01:03 chr19 -1 -1 +

The reason for this lack of mapping is that the GENCODE and Ensembl GTFs just refer to this gene as HFE. AddGeneCoord.pl was looks for exactly HLA-HFE, comes up with no matches, and leaves the unmapped default.
When I manually alter the coordinates file to have the HLA-HFE mapping match the Ensembl HFE coordinates, the BAM and FASTQ runs agree on the abundance/quality.
To summarize:

When running with FASTQs, reads that were mapped to the HFE gene are assigned to HLA-HFE
Neither GENCODE nor Ensembl GTFs contain reference to a gene named HLA-HFE
Coordinate files do not map HLA-HFE to the HFE gene region
The mapped reads in the HFE gene region are not pulled during BAM extraction
BAM processing assigns no alleles/abundance/quality for HLA-HFE

I don't think this is an issue for any other HLA contig. The only others that remain unmapped are HLA-DRB3, HLA-DRB4, and HLA-Y. As far as I can tell none of these has a corresponding mapping in the genome.

Thank you very much for finding this problem. I'll check whether there are annotations containing HLA-H/F/E, or create our own list of gene coordinates and use that as the input for AddGeneCoord.pl.

Thank you for finding this issue. I just added an option "--gtf-gene-name-mapping" to the AddGeneCoord.pl script. Its default value is "HFE:HLA-HFE" and we can use comma-split string to represent other gene name mappings. This will internally map the gene name in the GTF to the name specified by the user. Hope this can help resolve this issue.

Thanks for the quick response. I am now seeing coordinates for HLA-HFE.


Don't use bottom in NoUnexpectedThunks tests

The use of bottom was causing trouble for testing other functions that
actually force values.

bors r+


[Ability to view shell mode / used bash scripts]

Describe the bug
I see the attacker can uploaded any malicious code from https://www.codewars.com/join?language=shell
for example code :
#!/bin/bash -e
a=$1
b=$2
cat /etc/passwd
echo $((a*0))

and the result is a your passwd servers.
used a wget for uploaded backdoor or malicious code - used a ls -la and pwd for see path your file

@imhunterand Please don't disclose security vulnerabilities publicly in the issue tracker, suspected or otherwise. They should be reported privately to Codewars (can @kazk advise how exactly to do so? I can't seem to find it in the docs)
On the other hand, code submissions are executed as an unprivileged user within a container, so (1) you shouldn't be able to dump the contents of sensitive files like /etc/shadow, and (2) even if you could, it's only as seen from within the container and probably has nothing to do with the container host.

In others company likely as your project/websites this has been accepted ? and now do you accepted this issue vulnerable ?

There's an option for reporting security vulnerability:

which links to https://github.com/codewars/codewars.com/security/policy that explains how to contact us.

/etc/passwd

Yes, you can read any world readable file in the container.

used a ls -la and pwd for see path your file

You can do that too.

used a wget for uploaded backdoor or malicious code

Please let us know the details by following https://github.com/codewars/codewars.com/security/policy

Hi! @kazk
Thank you for your respond. I sent the report to<EMAIL_ADDRESS>Regards,
@imhunterand


Gon doesn't clear it's data after request

Using
gon.push({ :abc => :def })

causes gon.abc to be available between requests, just like something gon.global would do according to docs.
Steps to reproduce:

Add gon.push({ :abc => :def }) to FirstController and open it in your browser
Open SecondController and see that include_gon returned

window.gon={};gon.abc="def";

This happens on Windows using Ruby 1.9.3 and thin. The solution is to use gon.clear in before_filter for every controller, but that is far from being convenient.

Any updates on this? We've just run afoul of this issue in our tests. The above workaround works fine but seems like it shouldn't be necessary.

Any update?

I'm getting this problem after updating to 6.0.1 from 4.0.x. I also have to clear gon in a before_action now.

Same thing here, gon is being retained...


Updated CCM and FF Pages

CCM Cert Description
FFm Cert Description
CD Arch patch item.

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[x] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[x] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Fix broken external links

Updated James Mill's URL to his GitHub profile
Also updated the URL to Oracle Linux, their homepage performs some redirects which probably lead to the link-checker to fail. I updated the URL to the page the homepage redirects to :innocent:
update: removed the Oracle Linux change; looks like their page is just doing too many redirects (probably tracking), that may rely on cookies. Try it on this page; http://wheregoes.com

ping @Djelibeybi for the Oracle Linux url (just FYI)

Oh, lol, looks like James's homepage is restored as well, guess that makes this change unnecessary :smile:

Which Oracle URL was giving you issues?

@Djelibeybi oh sorry, it's gone now of course; this one; https://linux.oracle.com/. The link checker didn't like it because of the redirects (my guess), if you paste that URL in http://wheregoes.com/ you also see it keeps redirecting (which may be why the link checked marked it as "broken").
Not a big issue, but thought I'd notify you :-)

Hmm, that's weird. It doesn't seem to have that issue in a browser. However, you can just change any instances of https://linux.oracle.com to https://oracle.com/linux instead. That seems to have a far more sane redirect path.

I suspect the site tries to set a cookie, and otherwise redirects.

However, you can just change any instances of https://linux.oracle.com to https://oracle.com/linux instead

That's better, still 4 redirects, but at least no infinite redirects.
They might want to pay attention to that last redirect btw;

But, thanks! I'll update that link!

Yeah, you're probably right about the cookie. https://linux.oracle.com uses our SSO system to provide logged in access, so that's a pretty good bet.
I didn't notice the bounce out of HTTPS either. I'll raise a ticket internally, just so people are aware of it.

@Djelibeybi thanks! Thought I'd mention it, because it didn't look right :-)


Feature Request: Allow mark mode key binding when search box is shown.

Description of the new feature/enhancement
When selecting text in the middle or upper part of the screen or off screen,  I tend to search for the text to navigate to it, instead of using the arrows and then selct/copy the text.  Currently I have to hit Esc to hide the search box and then the mark mode key binding,  somehow I don't always type that correctly and occasionally have to repeat the workflow.
Would you be open to allowing the mark mode key binding when the search box is visible to elimitate the step of having to hit Esc to hide the search box?
Proposed technical implementation details (optional)
I did a test implementation to see what it would look like.
https://github.com/e82eric/terminal/commit/9b1b62f37613b2cc0b710fe8f78c919975cc62e3

awesome!  Not sure if it makes sense,  but if you point me in the direction of the changes that you are thinking of making I can try to create a PR.


Fix Swift lit tests after LLVM r299775

LLVM's lit implementation switched to use process pools in r299775.
This exposed some pickling problems in Swift's lit files. For a function
or class to be pickle-able, it has to be in the top-level of a real
Python module.

The SwiftTest lit format class was embedded in the lit.cfg file, so
I moved it out to a separate Python file.

The inferSwiftBinary function was being stashed in the
config.inferSwiftBinary field and later used to find tools for SourceKit
testing. I moved the config settings for those tools into the top-level
lit.cfg file. I expect this will cause warnings about them not existing
in some cases, but that should be fairly harmless. Maybe someone can
come up with a better solution later.

The config.substitutions for SourceKit's lit.local.cfg was storing a
reference to an embedded sed_clean function, which just returned a
constant string. I changed the function to be a string, using Python's
raw string feature to avoid the problems that likely led to it being a
function in the first place. (Just guessing.)

I've tested this locally and the bots are all broken now anyway, so I'm going to merge it.
FYI: @compnerd, @DougGregor  for general master-next context
@akyrtzi to review the SourceKit-related changes
I'll ask Reid to review it as well

Looks good! Sorry for the breakage.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-25-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2755

Questions ?
Please refer to the Backport tool documentation


Transfer maintainership

There are some comments about this in issues and pull requests, so I'm opening this issue to organize notes about transferring the library in one place. Here's a list of previous comments:

https://github.com/jpvillaisaza/slack-web/pull/93#issuecomment-1234222166
https://github.com/jpvillaisaza/slack-web/issues/94#issuecomment-1253937893

In summary, I'm looking for someone else to take over this library (different maintainer or owner). As mentioned by @lf-, @MercuryTechnologies can do this and has some plans about it (see #94 for more details).
I'm opening this issue to continue the conversation here and complete the process, and also in case anyone else has comments about it (in particular @igrep or @emmanueltouzery, current GitHub collaborators and Hackage maintainers).

yes, i have no time for this and i'm not using the library anymore, so it's ok if you strip me of the rights. Thank you for the work @jpvillaisaza !

Thanks for mentioning. I'm still using this library for our slack-log app, but I'm not developing both the app and slack-web. So I'm glad that lf- and MercuryTechnologies take over. Thank you!

@lf- Let me know if there's anything else to confirm on your side or if we're ready to continue with the transfer. Thanks!

It's good on my side :)

My hackage username is jade :)

@lf- Okay, I added you as maintainer in Hackage. Is transferring the repository the next step? Also, can you confirm that it should be to your account?

Yep, transfer it to my account and then I can get it moved to Mercury

Done! Thanks!

Alright, got all the GitHub shenanigans done :)


Tutorial 2 not working with HELICS v2

Tutorial 2 is not working with HELICS v2.
A previous pull request was submitted to update Tutorial 1 to work with HELICS v2, but nothing further than this. I suspect it means that tutorials 3-5 are also not working on v2, but this has not been checked.
By altering tutorial 2 to correspond to tutorial 1 (i.e. changing the non-working HELICS commands within federate1.py) allows the code to be run using the following commands:
$ helics_broker -f 2 --loglevel=3 --name=mainbroker
$ helics run --path config.json

The tutorial suggests that the only command needed to set the simulation running is
$ helics run --path config.json

I suspect this is how the example is supposed to work, but I am not sure. So maybe this means there is another issue in there, where the config.json file is not creating a broker correctly. Help on this would be appreciated.
I have made the changes previous made to tutorial 1, to tutorial 2, and could create a new branch for this. Do I need any special permission to do this?

Thanks for posting, we've been meaning to clean up this tutorial repository but haven't gotten around to it yet.
There's a few things going on here:

that tutorials 3-5 are also not working on v2

This is true, but the changes to the Python files are the same changes that need to be made that you made for tutorial 2.

I suspect this is how the example is supposed to work, but I am not sure.

This is also correct, but the latest version of helics-cli run does not respect the broker: true flag. This is a known issue, and I am working on fixing it.

I have made the changes previous made to tutorial 1, to tutorial 2, and could create a new branch for this.

If you can make a branch for this that would be great! We'b be happy to review and merge. You'll need to fork this repository, make your changes in a branch and submit a new PR.


Merge to live!

Docs Build status updates of commit a5ca2da:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/authorize-to-microsoft-graph-without-sso.md
:white_check_mark:Succeeded

docs/overview/office-add-in-availability.md
:white_check_mark:Succeeded

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


WRP-17258: Fix scroller/EditableWrapper to release selectedItem when focus leaves scroll container

Enact-DCO-1.0-Signed-off-by: Juwon Jeong<EMAIL_ADDRESS>Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
In this PR, I fixed 2 issues related to scroller/EditableWrapper

Fix scroller/EditableWrapper to release selectedItem when focus leaves the scroll container.
: When an item is selected in the editable scroller and the focus leaves the scroll container(e.g., by key handling), the selected item remains selected even if the focus moves back into the scroll container.
-> It is fixed to release selectedItem when the focus leaves the scroll container.

Fix scroller/EditableWrapper centeredOffset to calculate properly.
: When deleting an item after scrolling, centeredOffset was miscalculated.

Resolution

In the handleKeyDownCapture handler, when keyCode is 'up' or 'down', find the next spotlight item and if it is not included in the scroll container, release selectedItem and reset.

When deleting an item after scrolling, it needs to consider the container.scrollLeft too as getBoundingClientRect() only considers the relative left position of the viewport.

Additional Considerations
Links
WRP-17258
Comments

Edit mode > item move, hide > enter to finish edit > scroll to the final items > press up key to focus the edit button but focus doesn't move

I fixed the above focus handling issue.


Single line admonitions are not vertically centered

(from https://prisma.io/docs/reference/api-reference/command-reference#db-execute)

Not applicable to admonitions with the new admonition component. Still hapening when using Note aka blockquote


Prevent removing item from toggling checkboxes

Since the "x" is part of the label, a preventDefault is required to keep the click from accidentally checking or unchecking other checkboxes.

Thanks :)


Preferred extended parts - free assembly

I was upset because lmv321 became an extended part but then I saw this in jlcpcb's browser :

Looks like now there is a whole subset of extended parts that they don't charge a fee to assemble?
Here is a list of these:
https://jlcpcb.com/parts/basic_parts

Would be great to have this in jlcparts :+1:

At the moment, is seems that JLCPCB doesn't provide this flag via their API.

I've just found this too. Potentially a baked-in list of the Basic/EP item codes would suffice. My understanding is that these shouldn't change very often, to provide design stability. (That said, sometimes they do - C2293 and C2296 were previously Basic and are now Extended.)

Looks like all preferred parts can be obtained with a single request (additional requests may be needed to get cookies, tokens, etc)
There are currently 300 preferred parts and more and more are getting moved from basic to preferred category.
We can request all preferred parts using "pageSize" field

And the response contains a list of all preferred parts.

So an additional step could be added during the database build process to mark those parts as preferred.
@yaqwsx What do you think?

@maksz42: This looks good! But I prefer if you post it as text instructions to obtain the data. It is not particularly easy to deduce it from your screenshots.
Implementation-wise: I suggest adding a new component table column in the cache DB preferred. We add a new update step where we remove all preferred flags and set it only for the newly fetched components. When we build data tables from the cache DB, we will infer whether components are basic, preferred, or extended.

@yaqwsx I opened a PR. Since it's only a single request and I can't test it on cache DB, I added it to buildtables. So you'll need to change that if you want to keep this task offline.
I just took the API from https://jlcpcb.com/parts/basic_parts and removed headers and fields that seem like they don't matter. First we need to obtain xsrf token and then query jlcpcb for preferred parts.

Implemented in bb8f3311.


Add version flag to interface

Add --version flag to command line interface to return package version. Access the version using importlib.metadata.

Addressed in https://github.com/quantumion/pyvcam_ndsp


Links to open a PDF on page x.

Having PDFs in FVTT is great but having to navigate to a page you seek is cumbersome. Also linking to a PDF (@Item[PDF-Title]) only opens the sheet not the PDF. This severely limits the usefulness.
Introducing a way to link to a specific page inside of a specific PDF would be greatly beneficial. For example you have a Journal Entry "Races" containing information about the races available in your setting. Having a link there that leads directly to the page in the PDF containing detailed information about the races would add another layer of usefulness. This would allow you to place that link for further reading available to everyone looking at that JournalEntry.
I don't know how such a link could look like but it should be made easy to remember.
An alternative (also very beneficial and one that should possibly be introduced along with links) would be a way to set up a Journal Entry that does not even opens a Journal Entry but a PDF on a specific page directly. This way - if you have a PDF containing all the information - you could name the Journal Entry Races and have it open the PDF on the page that shows the information on races without the need to write anything in your Journal.
Linking to a bookmark present in the PDF is also a viable alternative.

This is complete and will be included in the next version.