[Question] How do I get Scintilla on to a form?

I've installed Scintilla in to a project using NuGet and it appears to be installed correctly. I see the ScintillaNet.dll in the packages folder and I have a reference to it in my project. I then added Scintilla to my toolbox by right clicking on the toolbox, selecting choose items and browsing to the ScintillaNet dll.
The icon appears in the toolbox.
When I drag it on to a form, I get this error:
**Failed to create component 'Scintilla'.  The error message follows:
'System.ComponentModel.Win32Exception (0x80004005): Could not load the Scintilla module at the path 'C:\Users--uername--\AppData\Local\Temp\ScintillaNET\3.5.6\x86\SciLexer.dll'. ---> System.ComponentModel.Win32Exception (0x80004005): A dynamic link library (DLL) initialization routine failed
at ScintillaNET.Scintilla.get_CreateParams()
at System.Windows.Forms.Control..ctor(Boolean autoInstallSyncContext)
at ScintillaNET.Scintilla..ctor()'**
Any suggestions as to what might be wrong? I've compiled the solution for "Any CPU", "x86" and "x64" and get the same error. I wondering whether its a permission issue with the dll being unpacked to a temp folder when I try to add the control.
I'm using VS2015 and Scintilla 3.5.6

Ya, so the nuget packages don't automatically put controls in the toolbox for you... and I think your problem may be from doing that manually. Try removing the toolbox item you created and any references to Scintilla VS added to your designer file and close VS. Then reopen VS and make sure your project compiles without Scintilla.
Now here is the silly part that I do when I don't have an item in the toolbox. I just add a standard control like a Panel to the designer then modify the designer file and replace the System.Windows.Forms.Panel with ScintillaNET.Scintilla wherever "panel1" is used. When the designer refreshes you should now have a Scintilla control instead of a Panel control.
For all other times you need it going forward after that, just copy and paste the control in the designer.

Thanks for that. My solution compiles fine without Scintilla and I’ve tried adding a panel to the form and changing it to ScintillaNet.Scintilla. Syntactically, it’s fine. When I try to pen the form, I get:
A dynamic link library (DLL) initialization routine failed
And the form won’t open. I’m guessing this is the same error I was getting dragging from the toolbox.
Steve
From: jacobslusser<EMAIL_ADDRESS>Sent: 29 June 2016 20:13
To: jacobslusser/ScintillaNET<EMAIL_ADDRESS>Cc: Steven Barnett<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [jacobslusser/ScintillaNET] [Question] How do I get Scintilla on to a form? (#257)
Ya, so the nuget packages don't automatically put controls in the toolbox for you... and I think your problem may be from doing that manually. Try removing the toolbox item you created and any references to Scintilla VS added to your designer file and close VS. Then reopen VS and make sure your project compiles without Scintilla.
Now here is the silly part that I do when I don't have an item in the toolbox. I just add a standard control like a Panel to the designer then modify the designer file and replace the System.Windows.Forms.Panel with ScintillaNET.Scintilla wherever "panel1" is used. When the designer refreshes you should now have a Scintilla control instead of a Panel control.
For all other times you need it going forward after that, just copy and paste the control in the designer.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jacobslusser/ScintillaNET/issues/257#issuecomment-229458416, or mute the threadhttps://github.com/notifications/unsubscribe/ATRp0vIhr2Ft4dbc8qO3rgPj9wBIaWPeks5qQsOwgaJpZM4JBc9s.

If it helps, I can see the Scintilla folder created in my temp folder and it contains a single dll called SciLexer.dll. The path it's creating is
C:\Users--username--\AppData\Local\Temp\ScintillaNET\3.5.6\x86
Not sure why it's creating an x86 folder.

The SciLexer.dll is copied out of the ScintillaNET.dll and placed in your temp folder and then loaded. The reason it is using x86 is because Visual Studio is a 32-bit process and thus would need the x86 version.
I'm not certain what is causing your problem. Clearly the file is there, it's just not being loaded.
It's possible there is a permissions issue and VS can't access the temp folder although I think that might be unlikely...
It's also possible issue #173 could be your problem.

Yep, that's my problem. I found the offending reference in a Telerik extension, renamed the files and can now add ScintillaNET to the project and a form. Sadly, my Visual Studio environment also requires Telerik components for other projects, so I can't just get rid of it.
Shame, I've always liked ScintillaNET, it's just so easy to use.
Thanks for the assistance.

Maybe with time we could find a way to make ScintillaNET play nice with other components that also use SciLexer.dll...
It's worth pointing out though that it doesn't mean you can't use ScintillaNET with your project. It just means your VS designer will have issues, but runtime should be unaffected.
Which Telerik component was it so other users will know what to look for?

The extension is a tool we use for debugging. We have some complex object structures and viewing them in Visual Studio is a bit of a pain. So we use an extension by Omar Elabd called Object Exporter. It allows you to export an object graph to an XML file for inspection:
https://github.com/OmarElabd/ObjectExporter
It’s a very useful tool – I’d struggle to prise it out of the hands of some of our developers. I suppose it might be possible to approach Omar and ask him to use a newer version of Scintilla (he’s using version <IP_ADDRESS>) but it doesn’t fix the fundamental incompatibility and we may hit it again with another extension.
Maybe, if I can get the time, I’ll get the Scintilla source out and see if I can do anything to handle it. Though I doubt getting my head round Scintilla is going to be a 5 minute job!
Steve
From: jacobslusser<EMAIL_ADDRESS>Sent: 30 June 2016 20:57
To: jacobslusser/ScintillaNET<EMAIL_ADDRESS>Cc: Steven Barnett<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [jacobslusser/ScintillaNET] [Question] How do I get Scintilla on to a form? (#257)
Maybe with time we could find a way to make ScintillaNET play nice with other components that also use SciLexer.dll...
It's worth pointing out though that it doesn't mean you can't use ScintillaNET with your project. It just means your VS designer will have issues, but runtime should be unaffected.
Which Telerik component was it so other users will know what to look for?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/jacobslusser/ScintillaNET/issues/257#issuecomment-229770360, or mute the threadhttps://github.com/notifications/unsubscribe/ATRp0oxGGqDRiOzHb536HZONQzS_d4Ghks5qRB98gaJpZM4JBc9s.

FWIW I've got it on to a form in design mode. Its not perfect, but it's there and I can set the properties I need in code.
I updated the constructor in Scintilla.cs to
`
if (moduleHandle == IntPtr.Zero)
{
var path = GetModulePath();
                // Load the native Scintilla library
                moduleHandle = NativeMethods.LoadLibrary(path);

                if (moduleHandle == IntPtr.Zero)
                {
                    var winError = NativeMethods.GetLastError();

                    // We will get error 1114 if we're in design mode and the
                    // library is lready loaded. We can relatively safely ignore it.
                    if (winError != 1114)
                    {
                        var message = string.Format(CultureInfo.InvariantCulture,
                            "Could not load the Scintilla module at the path '{0}'.",
                            path);
                        throw new Win32Exception(message, new Win32Exception()); // Calls GetLastError
                    }
                }
                else
                {
                    // Get the native Scintilla direct function -- the only function the library exports
                    var directFunctionPointer = NativeMethods.GetProcAddress(new HandleRef(this, moduleHandle), "Scintilla_DirectFunction");
                    if (directFunctionPointer == IntPtr.Zero)
                    {
                        var message = "The Scintilla module has no export for the 'Scintilla_DirectFunction' procedure.";
                        throw new Win32Exception(message, new Win32Exception()); // Calls GetLastError
                    }

                    // Create a managed callback
                    directFunction = (NativeMethods.Scintilla_DirectFunction)Marshal.GetDelegateForFunctionPointer(
                        directFunctionPointer,
                        typeof(NativeMethods.Scintilla_DirectFunction));
                }
            }

`
This just detects the library load error, which is 1114. To support that, I needed a new definition in NativeMethods:
`        [DllImport("kernel32.dll")]
    public static extern uint GetLastError();`

That mostly works, except that directFunction is now null. I changed the DirectMessage method to cope with that:
`        private static IntPtr DirectMessage(IntPtr sciPtr, int msg, IntPtr wParam, IntPtr lParam)
{
// Like Win32 SendMessage but directly to Scintilla
if (directFunction == null) return (IntPtr)0;
        var result = directFunction(sciPtr, msg, wParam, lParam);
        return result;
    }`

And lo, the control appears on a form. It's not perfect, but it gives me a design time component without the crash if there are extensions that use the Scilexer dll.
Now all I have to do is work out how to get highlighting working! I load an XML file but it doesn't highlight unless I define  bunch of styles - I thought those were built in...
Hope this helps someone.


alignment model

Hi
thank you for your sharing code. can you provide a pre-train model?
thanks

@kingvision I have uploaded a model, please refer to README.

Thanks


Token transfer was successful despite quantity amount is larger than balance

Environment:Testnet
User has only 2 Rocket token.
User input in larger amount than 2 with the address where token to be delivered.
The preview was activated
The transaction was submitted successfully as well
However the activity record didnt produce any transaction activity for the issue
Attaching video recording for perusal
https://user-images.githubusercontent.com/38872890/123308776-171eca00-d4f2-11eb-8819-aa5acf43c176.mov

@aulneau Attaching a video recording of the issue I found while testing the above.Seems to be reproducible from my end
https://user-images.githubusercontent.com/38872890/124796904-aaf38b80-df1f-11eb-9697-7a69f96a8176.mov

@Eshwari007 it appears we can re-QA this one now that https://github.com/blockstack/stacks-wallet-web/issues/1400 is merged

Thanks @markmhx ,will re test the issue and keep the team posted on the findings

Test passed hence moving it to done
cc @markmhx @aulneau

Please close out when moving to done in general 🙏


Fix a minor typo in data_pipeline docs

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Fix a minor typo in data_pipeline docs
https://mmdetection.readthedocs.io/en/latest/tutorials/data_pipeline.html
Modification
"agmentation" -> "augmentation" in the last paragraph
BC-breaking (Optional)
This modification will not break the backward-compatibility.
Use cases (Optional)
(pass)
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

(pass)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Fix "git-defender" command existing checks

Switched from IS_DEFENDER variable to inline if using command -v git-defender
Description of changes:
Fix gitlab-tools.sh checking if git-defender exists
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

👍
Looks great.  Thanks for the contribution! 🚀


added checksum and tested for postgres/mssql

This should be good to merge after review. I'm still working on auto-deploy folders which we can make as part of this same release.


Durview: Reduce (#2) char redraws

(This branches off https://github.com/cmang/durdraw/pull/81, which I am proposing for consideration first)
Context
After implementing the reduction in frame redraws, I realised that the individual pixels drawn for each frame could also reduced
Example frames

The 4 frames of doge blink

frameimg

frame 1

                         ;i.
                          M$L                    .;i.
                          M$Y;                .;iii;;.
                         ;$YY$i._           .iiii;;;;;
                        .iiiYYYYYYiiiii;;;;i;iii;; ;;;
                      .;iYYYYYYiiiiiiYYYiiiiiii;;  ;;;
                   .YYYY$$$$YYYYYYYYYYYYYYYYiii;; ;;;;
                 .YYY$$$$$$YYYYYY$$$$iiiY$$$$$$$ii;;;;
                :YYYF`,  TYYYYY$$$$$YYYYYYYi$$$$$iiiii;
                Y$MM: \  :YYYY$$P"````"T$YYMMMMMMMMiiYY
             `.;$$M$$b.,dYY$$Yi; .(     .YYMMM$$$MMMMYY
           .._$MMMMM$!YYYYYYYYYi;.`"  .;iiMMM$MMMMMMMYY
            ._$MMMP` ```""4$$$$$iiiiiiii$MMMMMMMMMMMMMY;
             MMMM$:       :$$$$$$$MMMMMMMMMMM$$MMMMMMMYYL
            :MMMM$$.    .;PPb$$$$MMMMMMMMMM$$$$MMMMMMiYYU:
             iMM$$;;: ;;;;i$$$$$$$MMMMM$$$$MMMMMMMMMMYYYYY
             `$$$$i .. ``:iiii!*"``.$$$$$$$$$MMMMMMM$YiYYY
              :Y$$iii;;;.. ` ..;;i$$$$$$$$$MMMMMM$$YYYYiYY:
               :$$$$$iiiiiii$$$$$$$$$$$MMMMMMMMMMYYYYiiYYYY.
                `$$$$$$$$$$$$$$$$$$$$MMMMMMMM$YYYYYiiiYYYYYY
                 YY$$$$$$$$$$$$$$$$MMMMMMM$$YYYiiiiiiYYYYYYY

frame 2

                         ;i.
                          M$L                    .;i.
                          M$Y;                .;iii;;.
                         ;$YY$i._           .iiii;;;;;
                        .iiiYYYYYYiiiii;;;;i;iii;; ;;;
                      .;iYYYYYYiiiiiiYYYiiiiiii;;  ;;;
                   .YYYY$$$$YYYYYYYYYYYYYYYYiii;; ;;;;
                 .YYY$$$$$$YYYYYY$$$$iiiY$$$$$$$ii;;;;
                :YYYF"`"\TYYYYY$$$$$YYYYYYYi$$$$$iiiii;
                Y$MM: \  :YYYY$$$$$$$$$$$YYMMMMMMMMiiYY
             `.;$$M$$b.,dYY$$Yi; .(  ``4$YYMMM$$$MMMMYY
           .._$MMMMM$!YYYYYYYYYi;.`"  .;iiMMM$MMMMMMMYY
            ._$MMMP` ```""4$$$$$iiiiiiii$MMMMMMMMMMMMMY;
             MMMM$:       :$$$$$$$MMMMMMMMMMM$$MMMMMMMYYL
            :MMMM$$.    .;PPb$$$$MMMMMMMMMM$$$$MMMMMMiYYU:
             iMM$$;;: ;;;;i$$$$$$$MMMMM$$$$MMMMMMMMMMYYYYY
             `$$$$i .. ``:iiii!*"``.$$$$$$$$$MMMMMMM$YiYYY
              :Y$$iii;;;.. ` ..;;i$$$$$$$$$MMMMMM$$YYYYiYY:
               :$$$$$iiiiiii$$$$$$$$$$$MMMMMMMMMMYYYYiiYYYY.
                `$$$$$$$$$$$$$$$$$$$$MMMMMMMM$YYYYYiiiYYYYYY
                 YY$$$$$$$$$$$$$$$$MMMMMMM$$YYYiiiiiiYYYYYYY

frame 3

                         ;i.
                          M$L                    .;i.
                          M$Y;                .;iii;;.
                         ;$YY$i._           .iiii;;;;;
                        .iiiYYYYYYiiiii;;;;i;iii;; ;;;
                      .;iYYYYYYiiiiiiYYYiiiiiii;;  ;;;
                   .YYYY$$$$YYYYYYYYYYYYYYYYiii;; ;;;;
                 .YYY$$$$$$YYYYYY$$$$iiiY$$$$$$$ii;;;;
                :YYYF$$$$YYYYYY$$$$$YYYYYYYi$$$$$iiiii;
                Y$MM:`T$/:YYYY$$$$$$$$$$$YYMMMMMMMMiiYY
             `.;$$M$$b.,;YY$$Yi; $$$$$$$$YYMMM$$$MMMMYY
           .._$MMMMM$!YYYYYYYYYi;.``"";;iiMMM$MMMMMMMYY
            ._$MMMP` ```""4$$$$$iiiiiiii$MMMMMMMMMMMMMY;
             MMMM$:       :$$$$$$$MMMMMMMMMMM$$MMMMMMMYYL
            :MMMM$$.    .;PPb$$$$MMMMMMMMMM$$$$MMMMMMiYYU:
             iMM$$;;: ;;;;i$$$$$$$MMMMM$$$$MMMMMMMMMMYYYYY
             `$$$$i .. ``:iiii!*"``.$$$$$$$$$MMMMMMM$YiYYY
              :Y$$iii;;;.. ` ..;;i$$$$$$$$$MMMMMM$$YYYYiYY:
               :$$$$$iiiiiii$$$$$$$$$$$MMMMMMMMMMYYYYiiYYYY.
                `$$$$$$$$$$$$$$$$$$$$MMMMMMMM$YYYYYiiiYYYYYY
                 YY$$$$$$$$$$$$$$$$MMMMMMM$$YYYiiiiiiYYYYYYY

</td>

frame 4

                         ;i.
                          M$L                    .;i.
                          M$Y;                .;iii;;.
                         ;$YY$i._           .iiii;;;;;
                        .iiiYYYYYYiiiii;;;;i;iii;; ;;;
                      .;iYYYYYYiiiiiiYYYiiiiiii;;  ;;;
                   .YYYY$$$$YYYYYYYYYYYYYYYYiii;; ;;;;
                 .YYY$$$$$$YYYYYY$$$$iiiY$$$$$$$ii;;;;
                :YYYF"`"\TYYYYY$$$$$YYYYYYYi$$$$$iiiii;
                Y$MM: \  :YYYY$$$$$$$$$$$YYMMMMMMMMiiYY
             `.;$$M$$b.,dYY$$Yi; .(  ``4$YYMMM$$$MMMMYY
           .._$MMMMM$!YYYYYYYYYi;.`"  .;iiMMM$MMMMMMMYY
            ._$MMMP` ```""4$$$$$iiiiiiii$MMMMMMMMMMMMMY;
             MMMM$:       :$$$$$$$MMMMMMMMMMM$$MMMMMMMYYL
            :MMMM$$.    .;PPb$$$$MMMMMMMMMM$$$$MMMMMMiYYU:
             iMM$$;;: ;;;;i$$$$$$$MMMMM$$$$MMMMMMMMMMYYYYY
             `$$$$i .. ``:iiii!*"``.$$$$$$$$$MMMMMMM$YiYYY
              :Y$$iii;;;.. ` ..;;i$$$$$$$$$MMMMMM$$YYYYiYY:
               :$$$$$iiiiiii$$$$$$$$$$$MMMMMMMMMMYYYYiiYYYY.
                `$$$$$$$$$$$$$$$$$$$$MMMMMMMM$YYYYYiiiYYYYYY
                 YY$$$$$$$$$$$$$$$$MMMMMMM$$YYYiiiiiiYYYYYYY

</td>

I did some analysis by writing each frame as a separate txt file, and then doing some calculations in ipython
number of pixels:

per frame: 1259 chars*
per cycle (4 frames): 5036 chars*

I had the realisation the between frames, the majority of the doge image doesn't change, and the eyes are the only area that changes (i.e. any pixel that stays the same between frames doesn't need to be redrawn)
To reduce pixel redraws:

at the start of the first cycle, always draw the first frame entirely
after that, only recalculate/redraw a pixel if it has changed from the previous frame

I calculated the number of pixels that differ between successive frames

frame 1 vs frame 2
frame 2 vs frame 3
frame 3 vs frame 4
frame 4 vs frame 1 (assuming looping)

from itertools import islice, pairwise, starmap, chain
import operator

frames = [open(f'ascii{i}.txt').readlines() for i in range(1, 5)]

def cmp(m1, m2):
   return sum(starmap(operator.ne, zip(chain.from_iterable(m1), chain.from_iterable(m2))))

list(starmap(cmp, pairwise(islice(cycle(frames), len(frames)+1))))
# [16, 21, 21, 16]

Summing these together gives 74 chars.
Considering that the very first frame always needs to be drawn, this would mean the first has 1,312 chars to draw
Results

CPU was measured via the /usr/bin/time command

version
frames/cycle
vs original
pixels/cycle
vs original
CPU usage

original
137
100%
172,483
100%
69%

reduced frames
4
2.91%
5,036
2.9%
4%

reduced pixels
4
2.91%
74 (1,312 for 1st cycle only)
0.04%
2%

This reduces the number of pixels drawn per cycle for the doge blink animation by 99.96%
Changes

I created a function under Frame that produces a matrix matching the frame dimensions of True/False values indicating if each pixel has changed from the previous frame
then, in the main refresh method, I added a small check when iterating linenum/colnum that skips if the corresponding co-ordinate in the diff matrix is False

except for the very first frame, which needs to be drawn entirely

Future improvements
At the very least, the pixel co-ordinates that have changed could be calculated and iterated through, rather than always iterating through all of them and checking individually
Caveats/Questions

Have I missed anything here?/Will this have any unintended consequences?
I'm happy to go further in future PRs, but I didn't want to rock the boat too much and so this PR contains an implementation that can still be improved, but it contains the smallest change to the existing functions that I could think of

The matrix is an interesting approach. I was originally considering having refresh() compare the new character to the character already on the screen, and only running self.addstr() if the chracter is different. Diffing on the fly. But this seems better. More flexible, and without polluting refresh() with extra logic.
An important consideration: It looks like this is only comparing the characters between frames. It also needs to compare the colors, as the character may be the same, but the color may have changed.
Confusingly, you will find this in Frame -> newColorMap instead of Frame -> colorMap. colorMap was what the old formats used, and is deprecated. (I realize this is not ideal, heh.)
I merged the previous PR for durview-reduce-frame-redraws. It looks like there are some merge conflicts now. Do you think you could resolve those? Please let me know if I can do anything to help with that. I am a bit new to this feature-branch PR approach, so my apologies if I screw anything up.
Thank you, Tom!

I'm going to convert this to a draft for now - I found that I broke the resizing

Yes, I was trying to  comment earlier, but Github was giving me errors. 😵💫
For me it seems to be only updating changed characters, and cropping the help screen.
https://github.com/user-attachments/assets/2fd28240-bb11-4189-b4a6-0df33c976931
https://github.com/user-attachments/assets/e98c7b9c-03b9-47ea-971f-4ecd6f4e7385

Thanks for looking into it - I realised that I'd glossed over a few considerations for redrawing.
Seeing as the performance gains aren't huge here, I'm going to focus on the undo stuff for a bit. I'll also end up making some useful stuff for that, around diffing frames and redrawing them etc. that will be directly useful here.
I'll close this for now, but will resurrect it when I've made some progress on the undo changes


Fix for #12 - no_semicolon.c should fail on missing parens

no_semicolon.c should not fail on missing parens, there's already another test for that.

Thanks for this patch!


weaveproxy can overwrite port bindings from docker-compose

To recreate using docker-compose, create a file docker-compose.yml:
foo:
  image: gliderlabs/alpine
  command: sleep 100
  ports:
   - "1234:1234"

Start this container via weaveproxy:
DOCKER_HOST=unix:///var/run/weave/weave.sock docker-compose up -d

Check for the published port:
$ docker inspect -f '{{.HostConfig.PortBindings}}' test_foo_1
map[]

Cause is that docker-compose is sending in an empty JSON request on start; we are setting our HostConfig fields on that request, and hence overwriting the PortBindings.
This does not happen if you try via docker create and docker start, since docker start does not send any content at all in the request and startContainerInterceptor.InterceptRequest() detects that and bypasses setting the HostConfig.

Is this issue present in 1.1.x?

No.


fix: queries should not end up in an error state when a component unmounts

Follow up on: https://github.com/tannerlinsley/react-query/issues/1412

I'm having a persistent bug in an application I'm currently working on due to this bug. I've tested this PR in my codebase and it fixes the bug. Would love to see it released.

:tada: This PR is included in version 3.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Any chance this can be shipped in a v2 patch? I'd be happy to put up a PR based off v2.26.4


Missing 'link' property in UnifiedDeepLinkData

https://github.com/AppsFlyerSDK/appsflyer-react-native-plugin/blob/df985ace2f67f829811880a3a971ad6352d4272c/index.d.ts#L56
On UnifiedDeepLinkData  interface, the link is missing.
the data object on onDeepLink handler returns a link property, but the interface doesn't expose it.
Please add the link to the interface so it'd fit (we get TS errors for it)

Added to the latest version


[SPARK-7944] Remove most of the Spark REPL fork for Scala 2.11

This PR removes most of the code in the Spark REPL for Scala 2.11 and leaves just a couple of overridden methods in SparkILoop in order to:

change welcome message
restrict available commands (like :power)
initialize Spark context

The two codebases have diverged and it's extremely hard to backport fixes from the upstream REPL. This somewhat radical step is absolutely necessary in order to fix other REPL tickets (like SPARK-8013 - Hive Thrift server for 2.11). BTW, the Scala REPL has fixed the serialization-unfriendly wrappers thanks to @ScrapCodes's work in #4522
All tests pass and I tried the spark-shell on our Mesos cluster with some simple jobs (including with additional jars), everything looked good.
As soon as Scala 2.11.7 is out we need to upgrade and get a shaded jline dependency, clearing the way for SPARK-8013.
/cc @pwendell

Merged build triggered.

Merged build started.

Test build #35268 has started for   PR 6903 at commit 9d46d85.

Sounds like a good step to avoid future headaches, and would surely be great to avoid continuing to fork. CC @mateiz as well to recall any particular things that were important to do differently in the fork, to help make sure nothing is being overlooked? Of course this is just for 2.11.

See scala/scala#4563 for shaded jline.

Test build #35268 has finished for   PR 6903 at commit 9d46d85.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Thanks for putting this together, I am going to take a more closer look.  Finally we will be relieved of burden of maintaining and porting repl per release.

@ScrapCodes thanks for having a look!

Hey Dragos, so what Scala 2.11 versions will this work with? It won't work with the very first one, right, only with versions after some of your other fixes? We need to document that so that people running older Scala 2.11s won't be confused.

@mateiz Indeed. I tested this with Scala 2.11.6, but I would prefer to move to 2.11.7 (should be out this week) ASAP. 2.11.7 has a shaded version  of jline, which means we can build hive-thriftserver and spark-sql would work too.
Currently, Spark depends on Scala 2.11.6, and that's the version that gets bundled in the assembly jar (and the distribution). I didn't find any mention in the docs on how to build with a different Scala version, so my assumption was that Spark fixes the Scala version you're going to use in the spark-shell.
(I'm pretty sure a determined dev would find a way to pass scala.version from the outside, but it doesn't seem to be a supported scenario).

Alright, please also send a PR to update the version to 2.11.7 when that comes out the. Both these things should be able to make it into Spark 1.5.

We can change the License file too, and add this too RAT checks.

IMHO this can not be merged before 2.11.7 is released.

@ScrapCodes, @mateiz Let me know if there's anything else.

Merged build triggered.

Merged build started.

Test build #35557 has started for   PR 6903 at commit 66eec11.

Test build #35557 has finished for   PR 6903 at commit 66eec11.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

I think this is a spurious failure:
[error] Failed: Total 1409, Failed 1, Errors 0, Passed 1408, Ignored 5
[error] Failed tests:
[error] 	org.apache.spark.network.nio.ConnectionManagerSuite

Test build #957 has started for   PR 6903 at commit 66eec11.

Test build #957 has finished for   PR 6903 at commit 66eec11.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Still spurious? This time it's a PySpark test.

Test build #958 has started for   PR 6903 at commit 66eec11.

Test build #958 has finished for   PR 6903 at commit 66eec11.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Can you update to scala 2.11.7  as part of this ? It is just a flip in version numbers in pom.xml

BTW http://scala-lang.org/news/2.11.7

Yes, but it's a bit more than that. I'd like to make sure thirftserver also builds, and that requires some jline version tinkering as well (it needs to pull in the one from the Hive dependency now).

NAVER - http://www.naver.com/
<EMAIL_ADDRESS>님께 보내신 메일 <Re: [spark] [SPARK-7944] Remove most of the Spark REPL fork for Scala 2.11 (#6903)> 이 다음과 같은 이유로 전송 실패했습니다.

받는 사람이 회원님의 메일을 수신차단 하였습니다.

We are in fork-hell. Who can build and publish (or at least locate this)?
org.spark-project#genjavadoc-plugin_2.11.7;0.9-spark0: not found

I am sure @pwendell or @andrewor14 can help.

Merged build triggered.

Merged build started.

This now also fixes SPARK-8031. Should I add that to the title?

Test build #35788 has started for   PR 6903 at commit d85370d.

Test build #35788 has finished for   PR 6903 at commit d85370d.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

NAVER - http://www.naver.com/
<EMAIL_ADDRESS>님께 보내신 메일 <Re: [spark] [SPARK-7944][SPARK-8013] Remove most of the Spark REPL fork for Scala 2.11 (#6903)> 이 다음과 같은 이유로 전송 실패했습니다.

받는 사람이 회원님의 메일을 수신차단 하였습니다.

Test build #35791 has started for   PR 6903 at commit 529293b.

Test build #35791 has finished for   PR 6903 at commit 529293b.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

I think @mengxr was involved in the javadoc fork.

Merged build triggered.

Merged build started.

Test build #35857 has started for   PR 6903 at commit 10edaf9.

Test build #35857 has finished for   PR 6903 at commit 10edaf9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

@ScrapCodes @mateiz Anything else I can do to get this in?

If it works, then I guess the only possibly controversial change is moving to Scala 2.11.7, but that seems fairly harmless and positive, and 2.11 is not the primary version used with Spark yet anyway. Does anyone know of any reason that would mess with users of 2.11?

Only good things in 2.11.7: shaded jline dependency (so spark-sql is working again) and various fixes in the REPL that made the fork unnecessary.

Merged build triggered.

Merged build started.

Test build #35936 has started for   PR 6903 at commit 0ce67a6.

Test build #35936 has finished for   PR 6903 at commit 0ce67a6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

@srowen @ScrapCodes let's push this one over the wall. Happy to do whatever is still needed!

Are you able to run tests on scala 2.11 build locally. I am have tough time with spurious failures. :(

There's some issues with the mima step, since it hard-codes 2.10 jars as the previous version (when looking for binary incompatibilities).

You can may be do it with maven. That does not do mima checks.

Hm, It seems that switching ./run-tests to a python script removed the ability to pass additional arguments from the outside, in particular -Dscala-2.11. I can definitely run the maven or sbt build to see unit tests pass, but I'd prefer to run the official tests script

I had more luck with my branch. There is indeed a test failing in SQL, regarding some user-defined function. However, tests in master fail much earlier, so I couldn't get that far. So I really doubt that failures are due to changes in this PR. The general status of 2.11 seems pretty unmaintained. I'm happy to improve the testing framework to make 2.11 tests easy to run and track down failing tests after this one gets in.

Yes, I am sort of clear that they are unrelated failures. About Mima checks they should pick the right version artifact according to scala version. I did not get a chance to look at it yet. But even if it is not doing the right thing, sounds like a bug to me.
About this patch, I am okay with it. But somehow I can not get SBT to build it missing genjavadoc plugin for 2.11.7. How are you building it ?

Regarding genjavadoc, see my comment earlier. According to @pwendell, @mengxr could know more about it, but he didn't chime in so far. I'm happy to do the work necessary to publish, but I can't locate the sources of that fork.
I built with maven, eventually. I got the same results with Sbt, by modifying SparkBuild and replacing the dependency to genjavadoc from cross-compiled to hard-coded gentjavadoc_2.11.6, just for testing.

@ScrapCodes @dragos so is the current state that this is probably good to go, or needs more work on genjavadoc before it will fully work for 2.11?

The only thing that needs to happen (for the Sbt build for Scala 2.11 to work) is for someone to publish a genjavadoc for 2.11.7 (it's a compiler plugin, therefore it's cross-compiled with the full Scala version).
That someone needs credentials to publish to Maven Central under org.spark-project and know where the sources for that fork are. So far, we couldn't track that someone down (my email to spark-dev wasn't more successful either).
We can wait indefinitely for that person to appear, or we can break the Sbt build for 2.11... :-/

Instead of breaking, let's skip the genjavadoc for scala 2.11 in SBT. I hope that should be doable, @dragos ?

I'll have a look. The important part is to not remove it for 2.10 accidentally :)

Hm, I'd really rather not add another special case onto this crazy build. Let's get genjavadoc sorted out. @mengxr do you know anything about that?

This would be the change. I agree it's ugly, and couldn't factor out the test...
+  // genjavadoc has not been published for 2.11.7 yet, so we skip it in this configuration
   lazy val sparkGenjavadocSettings: Seq[sbt.Def.Setting[_]] = Seq(
-    libraryDependencies += compilerPlugin(
-      "org.spark-project" %% "genjavadoc-plugin" % unidocGenjavadocVersion.value cross CrossVersion.full),
-    scalacOptions <+= target.map(t => "-P:genjavadoc:out=" + (t / "java")))
+    libraryDependencies ++= (if (!scalaVersion.value.startsWith("2.11.7"))
+            Seq(compilerPlugin("org.spark-project" %% "genjavadoc-plugin" % unidocGenjavadocVersion.value cross CrossVersion.full))
+          else
+            Seq.empty),
+    scalacOptions += (if (!scalaVersion.value.startsWith("2.11.7"))
+        "-P:genjavadoc:out=" + (target.value / "java")
+      else
+        ""))

According to #6506 the artifact is built and published by @brkyvz. Can we get an update?

@brkyvz I think this is in your court -- can you help?

@dragos @srowen Sorry I missed this thread! The official genjavadoc doesn't support 2.11.7 yet (https://github.com/typesafehub/genjavadoc/blob/master/project/Build.scala#L20). I can try to publish one for Scala 2.11.7 (if it compiles under Scala 2.11.7).

@mengxr I think (0 to 7) is inclusive, so probably it would work. Thanks! Looking forward to closing this one :)

Hey, sorry for missing this thread. I'll publish the 2.11.7 version today and ping you all.

@dragos Sorry I was looking at my local master. They added 2.11.7 12 days ago:)

@dragos Just published the genjavadoc 2.11.7!

Thanks @brkyvz. In principle there's nothing I need to do for this PR (except the whitespace changes you pointed out), but I'll run tests locally again.
Could you point to the source of your fork? This would make things easier in the future.

Test build #1006 has started for   PR 6903 at commit 0ce67a6.

Test build #1006 has finished for   PR 6903 at commit 0ce67a6.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

I removed spaces around imports (can't this be checked by ScalaStyle?).
I noticed a few tests are looping on 2.11 (both on 2.11.6 and 2.11.7). I'll investigate them, but I don't think they have anything to do with these changes.

Merged build triggered.

Yes, it can be. But enforcing it codebase wide is huge(+ unjustified, in the sense it affect code history) effort.
See : https://github.com/scalastyle/scalastyle/blob/master/src/main/scala/org/scalastyle/scalariform/SpaceAroundTokenChecker.scala
I think, may be we should not block on those tests, but would be good to open individual issues for everything we sort of postponed for a time later ?

Merged build started.

Test build #1008 has started for   PR 6903 at commit 0ce67a6.

Test build #1008 has finished for   PR 6903 at commit 0ce67a6.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #36793 has started for   PR 6903 at commit 2b1a305.

I think this is a legit failure?
Scalastyle checks failed at following occurrences:
[error] sbt.IncompatiblePluginsException: Binary incompatibility in plugins detected.
[error] Note that conflicts were resolved for some dependencies:
[error] 	org.codehaus.plexus:plexus-utils
[error] 	org.apache.maven.wagon:wagon-provider-api
[error] 	org.sonatype.sisu:sisu-inject-plexus
[error] 	org.sonatype.sisu:sisu-inject-bean
[error] 	org.sonatype.sisu:sisu-guice
[error] 	cglib:cglib
[error] 	asm:asm
[error] 	com.typesafe:config
[error] 	commons-lang:commons-lang
[error] 	com.thoughtworks.paranamer:paranamer
[error] Use 'last' for the full log.
[error] running /home/jenkins/workspace/NewSparkPullRequestBuilder/dev/lint-scala ; received return code 1

Looks like that... I have no idea what it means though. I'll have a look

I can't reproduce it. How did you run it?
 $ dev/lint-scala
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
Scalastyle checks passed.

(Apache RAT takes an hour on my system, no idea what file trips it so badly, so I just ran lint tests).

Test build #36793 has finished for   PR 6903 at commit 2b1a305.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Have a look at http://stackoverflow.com/questions/22628547/binary-incompatibility-in-plugins-detected-in-play-2-1-3-project-after-upgrading which makes me think this is somehow related to jline. Why you don't reproduce it, I don't know; does it depend on the profile that's set? I have no idea about jline but I imagine you do; does that ring any bells?

But the latest Jenkins build succeeded (at least, style checks did). Now it fails a test in catalyst. So this is a spurious error, it seems?
Note that there is no jline in the Jenkins log. That happened to be the case in the stack overflow question, but I doubt it's the same root cause.
Since I can't reproduce it, I also can't run last to see what was the full error message....

Test build #1012 has started for   PR 6903 at commit 2b1a305.

Test build #1012 has finished for   PR 6903 at commit 2b1a305.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Yeah these are different failures each time. I'm not sure what's going on -- still am not sure why these changes would make things merely flakier. Let me spin the wheel again.

Test build #1014 has started for   PR 6903 at commit 2b1a305.

I've seen that failure randomly as well from changes that didn't change anything remotely related.  It doesn't mean that the error is always spurious, but I wouldn't worry too much if it passes later on ...

Test build #1014 has finished for   PR 6903 at commit 2b1a305.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Spinning the wheel "fixed" it :)

I think this is good to go. Any last comments anyone?

@dragos ah, sorry we seem to have merge conflicts now. I think we can merge after that's resolved and re-tested.

Oh, that's great...

Merged build triggered.

Merged build started.

Test build #37034 has started for   PR 6903 at commit c596c6f.

Test build #37034 has finished for   PR 6903 at commit c596c6f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.


How to use TFRecords with Tensorflow tutorial

I have trouble getting the tfrecords to work with Tensorflow tutorial sample - https://www.tensorflow.org/tutorials/images/transfer_learning . I feel there may be a difference between what this sample expects and what is written in TFRecords. Due to that the sample does not work.  (I have custom image data with 2 classes)
I am stuck and on the verge of breakdown on this one.  :(
Can you please help elaborate how to achieve this ?

Hi @AshutoshDongare
I have a video series talking about machine learning, and the latest video should explain some of these concepts. I have not looked at the tutorial, so I can't speak of how they have structured their data. But TFRecords are just protobufs of data, so it is a bunch of bytes of data with index names to find the correct values quickly. And if you aren't using the right structure, it won't work with the tutorial.
Here is my latest video: https://www.youtube.com/watch?v=wpCu4buJOvE
And here is the full playlist with all my Machine learning videos: https://www.youtube.com/watch?v=LDKpIvaIxjA&list=PLP2v7zU48xOLt9Hqiu3j3PdBV5cKgqio7
I hope this can help you understand the concepts, so you get further in your work.
If you have any questions, please don't hesitate to ask.
Best regards
Daniel


Remote storage queue full Error occured.

What did you do?
I was set remote_write config in the configuration, prometheus.yml, like this
remote_write:
  - url: "http://{influxdb hostname}:8086/api/v1/prom/write?db=prometheus"
remote_read:
  - url: "http://{influxdb hostname}:8086/api/v1/prom/read?db=prometheus"

What did you expect to see?
Using prometheus and influxdb, I was expected prometheus scraped metric will store into the tsdb(influx).
What did you see instead? Under which circumstances?
In the test-bed, fewer target exporter, it is work well, but In the real circumstances, 3000 node_exporter targets and other exporters too, it is not work propely with this error log messages
level=warn ts=2020-09-17T06:03:33.194867868Z caller=queue_manager.go:230 component=remote queue="0:http://p8s-int-015.hanpda.com:8086/api/v1/prom/write?db=prometheus" msg="Remote storage queue full, discarding sample. Multiple subsequent messages of this kind may be suppressed."

As a result, the metrics was inserted sparingly like this

I have no idea, which component, prometheus or influx, has problem.
Environment

System information:
Linux 3.10.0-862.14.4.el7.x86_64 x86_64

Prometheus version:

prometheus, version 2.4.3 (branch: HEAD, revision: 167a4b4e73a8eca8df648d2d2043e21bdb9a7449)
build user:       root@1e42b46043e9
build date:       20181004-08:42:02
go version:       go1.11.1

Prometheus configuration file:

remote_write:
  - url: "http://p8s-int-015.hanpda.com:8086/api/v1/prom/write?db=prometheus"
    #queue_config:
    #  capacity: 5000
    #  max_samples_per_send: 1000

remote_read:
  - url: "http://p8s-int-015.hanpda.com:8086/api/v1/prom/read?db=prometheus"

Logs:

level=warn ts=2020-09-17T06:03:02.818522525Z caller=queue_manager.go:230 component=remote queue="0:http://p8s-int-015.hanpda.com:8086/api/v1/prom/write?db=prometheus" msg="Remote storage queue full, discarding sample. Multiple subsequent messages of this kind may be suppressed."

I guess the remote storage is not accepting metrics. Can you provide some logs from your remote storage?

I agree, this sounds like an issue on the influx side where it cannot keep up with traffic. If you know that influx can keep up, Prometheus 2.4 is ancient at this point, and much of remote write has been rewritten since then. Would you be able to upgrade to a more recent version?

@csmarchbanks,
Ok, I'll upgrade prometheus version. After then I'll check it up again.

@csmarchbanks
Next tuesday, I'll upgrade my prometheus server cluster binary.

Thanks for your report. It looks as if this is actually a question about usage and not development.
It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.

Please

@roidelapluie , OK I see.


CVAT pascal voc export issue

My actions before raising this issue

[ ] Read/searched the docs
[ ] Searched past issues

Expected Behaviour
The annotation in .xml file
Current Behaviour
i am exporting the annotations but the .xml contains no information about the polygons
Steps to Reproduce (for bugs)

Upload dataset
annotate object by drawing polygon
save polygon
export dataset by selecting pascal voc format

Your Environment

Operating System and version ( Windows):

Hi,
The Pascal VOC is described here. It has labels, boxes, keypoints, and segmentations, but not polygons. Polygons can be exported as masks in the Segmentation mask format.


Issuing credits to Omo.

Issue 10000 credits to @Omoaholo.

 Follow up
On Friday, 15-Mar-24 13:56:35 UTC by Gov4Git dev
Issued 10000 credits to member @omoaholo.


Request to Add a oneAPI Sample: Initial Rendering Toolkit sample

Summary
This is a request for a new code Sample called Initial Rendering Toolkit Sample
Purpose
Answer the following questions

What specifically is this code sample trying to show?

Provide getting started guide samples for the oneAPI Rendering Toolkit (IRTK) in a similar experience to the base toolkit.

Why is this important to the oneAPI ecosystem?

Stop users from navigating samples from preexisting Github (more suitable for advanced users).
This will be much faster to get going than the current gsg flows anywhere.

Domain
Please supply what Domain that you feel represents your Code Sample. (Best Effort)
Likely oneVPL reviewers... Marc Valle @mav-intel Rendering Toolkit domain is not listed.
Description
The Initial Rendering Toolkit Sample will allow the user to build and like the most basic programs for OSPRay, Embree, Open VKL, and Open Image Denoise. Sources are taken from existing samples on Intel-managed library product repositories. Their build is edit to be /edit retrofitted for the oneAPI samples repo edit with this update /edit.
Dependencies
No third-party runtime dependencies are required with proposed sources.
A third-party image viewer program is needed to review the output. ImageMagick is easy to use and spans target platforms.
Open Image Denoise sample denoises the output of the OSPRay sample. ImageMagick program is used independently to prep the OSPRay data for OIDN parsing.
ImageMagick is an extremely common toolset for this interest area.
Proposed folder Location
Please include the proposed folder location for your sample to reside.
I'm using oneapi-src/oneAPI-samples/RenderingToolkit ... This hierarchy and folder name is flexible, thus far it looks like this:
$ find RenderingToolkit/ -type f
RenderingToolkit/embree_gsg/CMakeLists.txt
RenderingToolkit/embree_gsg/minimal.cpp
RenderingToolkit/embree_gsg/ospray.json
RenderingToolkit/embree_gsg/sample.json
RenderingToolkit/oidn_gsg/apps/oidnDenoise.cpp
RenderingToolkit/oidn_gsg/apps/utils/arg_parser.h
RenderingToolkit/oidn_gsg/apps/utils/CMakeLists.txt
RenderingToolkit/oidn_gsg/apps/utils/image_io.cpp
RenderingToolkit/oidn_gsg/apps/utils/image_io.h
RenderingToolkit/oidn_gsg/CMakeLists.txt
RenderingToolkit/oidn_gsg/common/CMakeLists.txt
RenderingToolkit/oidn_gsg/common/platform.cpp
RenderingToolkit/oidn_gsg/common/platform.h
RenderingToolkit/oidn_gsg/common/timer.h
RenderingToolkit/oidn_gsg/sample.json
RenderingToolkit/openvkl_gsg/CMakeLists.txt
RenderingToolkit/openvkl_gsg/sample.json
RenderingToolkit/openvkl_gsg/vklTutorial.c
RenderingToolkit/ospray_gsg/CMakeLists.txt
RenderingToolkit/ospray_gsg/ospTutorial.cpp
RenderingToolkit/ospray_gsg/sample.json
RenderingToolkit/README.md

Checklist
[ ] Samples Working Group Permission accepted on

@praveenkk123 - As this is a new sample, it should be presented at the next WG meeting

@MichaelRoyceCarroll - Please supply a link to the current repo for initial review

@JoeOster Here are the originals... my pull request resembles these contents (not exactly because not all is needed)
Embree minimal.cpp https://github.com/embree/embree/tree/master/tutorials/minimal
OSPRay ospTutorial.cpp https://github.com/ospray/ospray/tree/master/apps/ospTutorial
OIDN oidnDenoise.cpp https://github.com/OpenImageDenoise/oidn/tree/master/apps
Open VKL vklTutorial.c https://github.com/openvkl/openvkl/tree/master/examples
-MichaelC

When you create the PR, I would recommend 4 separate PRs. Otherwise, it can get messy for reviewing.


Update schedule URL

Use https://live.juliacon.org/agenda per request from Avik

Codecov Report

Merging #26 (59073b8) into master (0684c13) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #26   +/-   ##
=======================================
  Coverage   93.88%   93.88%
=======================================
  Files           4        4
  Lines         278      278
=======================================
  Hits          261      261
  Misses         17       17

Impacted Files
Coverage Δ

src/schedule.jl
92.95% <100.00%> (ø)

Continue to review full report at Codecov.

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


Update display via _thread without flicker?

In a simple clock application, I am counting up seconds with a timer and convert this into a timestamp. (Every once in a while, I am also checking for the correct time via NTP.)
The timestamp string is then converted to a series of character images.
This approach seems to work, but the clear_dirty_bytes() call causes a flicker.
The hub75spi.display_data() is running constantly in a separate thread all the time.
Is there anything I can do to reduce this short flickering every second?

A flicker every second would definitely be irritating on a clock. The issue here is that the LEDs are only illuminated during the display_data() call. So any processing outside of this call adds to blank time between frames. Even using separate threads won't help here because in python the threads are all executed on the same core.
You might try to synchronize the time less often. Maybe once a minute/hour/day, depending on how much the internal clock drifts and how often you can tolerate a flicker on the display. If the drift is significant, you could also try using a real-time clock module to keep a more accurate local time and then synchronize that to network time less often. Or you could add a second ESP32 that receives time from NTP and then sends over accurate time to the ESP32 driving the LED matrix. I'm just spitballing now. I'm not sure what approach would work best for you, but I don't see a way to improve the library to reduce the flicker.

I am synchronizing only every 12 hours. This is not the problem. I am seeing this flicker every second when I update the graphics on the display.
Here's a simplified code to reproduce:
import hub75
import matrixdata
from logo import logo

import _thread
import time
from machine import Timer
#import uasyncio

ROW_SIZE = 32
COL_SIZE = 64

config = hub75.Hub75SpiConfiguration()
##-----------------------------------------------------------------------------
## row select pins
config.line_select_a_pin_number = 15
config.line_select_b_pin_number = 2
config.line_select_c_pin_number = 4
config.line_select_d_pin_number = 16
config.line_select_e_pin_number = 12
## color data pins
config.red1_pin_number = 32
config.green1_pin_number = 33
config.blue1_pin_number = 25
config.red2_pin_number = 26
config.green2_pin_number = 27
config.blue2_pin_number = 14
## logic pins
config.clock_pin_number = 18
config.latch_pin_number = 5
config.output_enable_pin_number = 17  # active low
config.spi_miso_pin_number = 13  # not connected
## misc
config.illumination_time_microseconds = 1
##-----------------------------------------------------------------------------
matrix = matrixdata.MatrixData(ROW_SIZE, COL_SIZE)
hub75spi = hub75.Hub75Spi(matrix, config)

# Show Python Logo
matrix.set_pixels(0, 16, logo)
for i in range(100):
    hub75spi.display_data()

# Show objects
square = [
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7],
    [1,1,2,2,3,3,4,4,5,5,6,6,7,7]]

##-----------------------------------------------------------------------------
## run permanent display thread
def displayThread():
    while True:
        hub75spi.display_data()
_thread.start_new_thread(displayThread, ())

##-----------------------------------------------------------------------------
## run timed thread
def clocktick(timer):
    matrix.clear_dirty_bytes()
    matrix.set_pixels(10,10, square)
tim = Timer(-1)
tim.init(period=1000, mode=Timer.PERIODIC, callback=clocktick)

I see what you mean now. The clear_dirty_bytes() call seems to be the culprit. The issue isn't that it's threaded though, it's just that when you are using a larger pixel area it will take longer to clear the dirty pixels from memory, which leaves the panel blank for longer. I'll see if I can find a way to improve performance on clear_dirty_bytes().
You might try writing custom code to only clear out the pixels that you need to (for example, just clear the seconds but not the minute or hour).
You could also try to clear the entire memory buffer instead of just the dirty pixels. I'm guessing that will probably also cause a flicker though.
I think that driving Hub75 is pushing the limits of micropython on the ESP32. Hopefully we can squeeze enough performance out of it to get your project where you want it. It sounds like you are pretty close.

The whale is not working for me (just a blue-white square from top to bottom shifting left and right)., I will see if I can work it out.
I've experimented with a faster way to reset dirty pixels. Looping through rows and columns seems slower to me than just starting over again. Unfortunately, this had no visible effect, neither negative nor positive.
    def clear_all_bytes(self):
        '''
        Reset all pixels.

        Returns
        -------
        None.
        '''
        # works
        self.red_matrix_data = [bytearray(self.col_bytes) for x in range(self.row_size)]
        self.green_matrix_data = [bytearray(self.col_bytes) for x in range(self.row_size)]
        self.blue_matrix_data = [bytearray(self.col_bytes) for x in range(self.row_size)]
        # does not work but should be the same ?!
        # self.red_matrix_data = [bytearray(self.col_bytes)] * self.row_size
        # self.green_matrix_data = [bytearray(self.col_bytes)] * self.row_size
        # self.blue_matrix_data = [bytearray(self.col_bytes)] * self.row_size

        self.dirty_bytes_array = []

I have also included docstrings to the matrixdata.py module and cleaned up the indentation of logo.py and planets.py. Plus, we need some corrections to the Readme.md. Let's see if I can work it out with a pull request.
As for my clock app, I've now removed the seconds and only show hours and minutes. This is OK for now, and wife is happy. I am planning to publish the code after some clean-up.

That's great news. I'm glad you have it working. I think that clearing only the dirty bytes is advantageous when there are only a small number of pixels used. For example, I think that the earth bouncing only uses ~20 bytes. When more of the bytes have been modified then at some point it's probably faster just to clear them all.
I looked over the pull request and I like the addition of clear_all_bytes(). I also appreciate the formatting cleanup & added docstrings. I left a few comments to address before I pull it in.

I pushed one last update that may help. I added a flag to the MatrixData constructor which can be used to disable recording the dirty bytes. This will reduce the amount of time required to set the pixels when clear_dirty_bytes() isn't being used.
I also switched tracking dirty bytes from using a list to using a set to avoid adding duplicate byte indices. I thought this would speed things up, but I haven't seen any improvement from it as far as reducing flicker when displaying a large image. I'm sure it is making more efficient use of memory though.
I will go ahead & close out this issue. I don't think there is an issue in the code causing the flicker, it's just that processing more pixels takes more time which causes a larger blanking time between refresh cycles.


How to custom i18n?

I modified file "vendor\dektrium\yii2-user\messages\zh-CN\user.php",
but while I executed "composer update" .
The file automatic update.
So how to config i18n in config?

You may use DI (Dependency Injection Container).
1º Create bootstrap file (bootstrap.php for example), with the following code :
$app->get('i18n')->translations['user*'] = [
    'class' => yii\i18n\PhpMessageSource::className(),
    'basePath' => __DIR__ . '/../messages', // path where is traslations files
];

2º include bootsrap file in entry script :
...
$config = require(__DIR__ . '/app/config/web.php');

$app = new yii\web\Application($config);

require('app/config/bootstrap.php'); // here

$app->run();

3º finally, you create messages folder with user.php file. it works!
Sorry foy me english man.

Solution provided by @pana1990 is ok, you can use it.

Thank you for give an idea.  But I solve this but put it on common/config/main.php on Yii2 advanced template
'i18n' => [
            'translations' => [
                'app*' => [      // my other translation file
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@common/messages',
                    'sourceLanguage' => 'en-US',
                    'fileMap' => [
                        'app' => 'app.php',
                    ],
                ],
                'user*' => [ //
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@common/messages', // my custom message path.
                    'sourceLanguage' => 'en-US',
                    'fileMap' => [
                        'user' => 'user.php', // I put this file on folder common/messages/ms/user.php so yours zh-CN
                    ],
                ]
            ],
        ],

Thanks for you great module.

thanks to apaoww .
It quite elegantly!


Add a "Quick Start" tutorial

This PR adds a new tutorial, which is a runnable jupyter notebook while also being integrated into the docs. The idea is for these new tutorials to eventually supersede the old ones which currently live under tutorials/. Unlike the latter (which predate full integration between single-step and multi-step code), the tutorial added here uses real single-step models as opposed to toy ones, as well as realistic molecules/reactions.

You can preview the new tutorial here.


Added Flatten2D.py

Description
Added a python functional code for flattening a 2D list.
A short summary of what is included in your Pull Request.
Fixes #13
Type of change
Choose one or more options from the following as per the nature of your Pull request.

NOTE: These boxes can be checked using [X]

[ ] Bug fix (non-breaking change which fixes an issue)

[X] New feature (non-breaking change which adds functionality)

[ ] Documentation Update

Checklist:
Please tick all the boxes that are fulfilled by your Pull Request.

[X] I have named my files and folder, according to this project's guidelines.
[X] My code follows the style guidelines of this project.
[X] My Pull Request has a descriptive title. (not a vague title like Update index.md)
[X] I have commented on my code, particularly in hard-to-understand areas.

Please merge the PR!


Change the behavior, of the sqlite3 import if it has SQLCipher as a d…

Change the behavior, of the sqlite3 import if it has SQLCipher as a dependency

This fixes the
Redefinition of 'sqlite3_pcache_methods2'
and similar issues on Xcode

applied in 3476f89153bcd31cc2836bdcc6ae95875ed6eb1c


Attributed description

The leading on our font is quite shallow & it would be nice to be able to adjust.
It would be good if it were possible to set the description text using attributed string.

Ah I've figured I can do it like this:
func onboardingConfigurationItem(_ item: OnboardingContentViewItem, index: Int) {
    let page = onboardingPages[index]

    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.lineSpacing = 10
    paragraphStyle.alignment = .center

    let attributes = [NSAttributedStringKey.foregroundColor:UIColor.cs_Thunder(),
                      NSAttributedStringKey.font:UIFont.sparkyFont(.calibri, weight: .regular, size: 16),
                      NSAttributedStringKey.paragraphStyle: paragraphStyle]

    item.descriptionLabel?.attributedText = NSAttributedString(string: page.description, attributes: attributes)
}

Only trouble is if setting the dataSource & delegate in interface builder, there's no way to ensure delegate is set before the data source, so onboardingConfigurationItem() isn't guaranteed to be called if the delegate isn't set before data source...

Workaround is just to set the dataSource again in my setup.


Unable to run unit tests that reference MsalService

Core Library
MSAL.js (@azure/msal-browser)
Core Library Version
3.3.0
Wrapper Library
MSAL Angular (@azure/msal-angular)
Wrapper Library Version
3.0.6
Public or Confidential Client?
Public
Description
Unable to run unit tests due to a missing file in the release. Downgraded to 3,2,0 (and<EMAIL_ADDRESS>and the unit test successfully runs.
<EMAIL_ADDRESS><EMAIL_ADDRESS>Angular CLI: 15.2.8
Node: 18.12.1
Package Manager: npm 8.19.2
OS: win32 x64
Angular: 15.2.9
... animations, common, compiler, compiler-cli, core, forms
... localize, platform-browser, platform-browser-dynamic, router
Package                         Version
@angular-devkit/architect       0.1502.8
@angular-devkit/build-angular   15.2.8
@angular-devkit/core            15.2.8
@angular-devkit/schematics      15.2.8
@angular/cli                    15.2.8
@schematics/angular             15.2.8
rxjs                            7.8.1
typescript                      4.8.4
Error Message
● Test suite failed to run
Cannot find module './index-9800158f.js' from<EMAIL_ADDRESS>
Require stack:
<EMAIL_ADDRESS><EMAIL_ADDRESS>  src/app/auth/auth.state.spec.ts

Msal Logs
Not applicable
MSAL Configuration
Not Applicable

Relevant Code Snippets
See stack trace

Reproduction Steps
$ jest
Expected Behavior
Jest runs
Identity Provider
Azure AD / MSA
Browsers Affected (Select all that apply)
None (Server), Other
Regression
@azure/msal-browser 3.2.0
Source
Internal (Microsoft)

Same problem here, running with Jest.

Same problem here, running with msal-react with Jest.

Same here, Jest
Require stack:
<EMAIL_ADDRESS>node_modules/msal-react-tester/dist/MsalReactTester.js
node_modules/msal-react-tester/dist/index.js
src/setupTests.js

Yup, here too.
@azure/msal-angular: 3.0.6
@angular/*: 16.2.10
jest: 29.7,0

Affects us when importing MSAL in watch mode

I managed to solve it temporarily by configuring the file  jest.config.js
module.exports = {   moduleNameMapper: {     ...,     '@azure/msal-browser': <EMAIL_ADDRESS>  }, }

I'm also running into this problem. Bumping from 3.1.0 -> 3.3.0 is not urgent, so I'll wait for a patch.

I also have this issue (when running my unit tests with Jest) ...
Cannot find module './index-9800158f.js' from<EMAIL_ADDRESS>
@kai-dorschner-twinsity posted already the deep dive into code I also did. I wonder how this could happen where that mentioned index-9800158f.js should be.
@kebryansg Can you please post complete example of your jest.config.js?
I tried out your proposed workaround. But, it doesn't work for me. Maybe I did it wrong... Or it's different for me anyway. I have a mono repo setup with NX and a typescript version of jest config => jest.config.ts.
My (not working) version (should be fine from my point of view considering also official Jest documentation about moduleNameMapper):
const { getJestProjects } = require('@nx/jest');

export default {
    moduleNameMapper: {
        '@azure/msal-browser': <EMAIL_ADDRESS>    },
    projects: getJestProjects()
};

https://jestjs.io/docs/configuration#modulenamemapper-objectstring-string--arraystring

Fixed in 3.0.7. Thank you!


Renamed block 'frontend_blog_bookmarks_deliciosus'

there was a typo in the block 'frontend_blog_bookmarks_deliciosus' so i renamed it to 'frontend_blog_bookmarks_delicious'

@bcremer Small typo fix, we should create a ticket for this issue.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/#/issues/SW-14394.
Please use this issue to track the state of your pull request.

Thanks for your contribution @uehler, your pull request was merged with the following commit: https://github.com/shopware/shopware/commit/09e36428d2e7d518d9595b55e4a3ba0f73929fbc


Create guide for how to publish to store

We have great docs covering how to create and app and get it running/editable/debuggable. But how do you ship it?
There are UWP docs on this of course, but they are surprisingly hard to find if you don't know what you're looking for (for example you're coming in as a RN/mobile/web developer, as many of our RNW customers are). And if you do find them... they focus a lot on exceptions to the process, not the standard flow. As someone who had published to the store before... I found it all very disorienting.
We should provide a guide that takes in our developer's perspective and helps them through this process.

Duplicate of #62


After v0.27.3 update, unable to sort books

Describe the bug
When attempting to sort a book, the sorting links are dead.
Steps To Reproduce
Steps to reproduce the behavior:

Go to any Book
Click on Sort
Scroll to top of page
Attempt to click on one of sorting options
Nothing happens

Expected behavior
I would expect the sorting links to sort according to how they're labeled.
Screenshots

Your Configuration (please complete the following information):

Exact BookStack Version (Found in settings): 0.27.3
PHP Version: 7.2.19
Hosting Method (Nginx/Apache/Docker): Apache

Additional context
Sorting worked fine before updating to Bookstack v0.27.3

@FMCUSystemAdmins Thanks for reporting, Seems like the book outline decoration element overlays the buttons making them unclickable. Have allocated for the next patch release.


how can i

add commands like call, take photo, upload files, take screenshots

like in where file, i think in InternalService.smali meaby?


Is compatible with URP?

Hello can I use this for URP projects? Thanks

Yes, it is compatible, and was actually built with URP in mind.  If you're using Shader Graph with URP, there is a sub graph available as well.


Models code generation

Pull Request Test Coverage Report for Build 12

76 of 77 (98.7%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.4%) to 97.986%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

rest_client_gen/models/base.py
59
60
98.33%

Files with Coverage Reduction
New Missed Lines
%

rest_client_gen/models/init.py
1
75.68%

Totals

Change from base Build 7:
0.4%

Covered Lines:
681

Relevant Lines:
695

💛  - Coveralls


Can the param refresh_interval  set to 100ms?

hello,
the param refresh_interval's default value is 60(seconds), can I set the refresh_interval to 100ms?
I want to have a fine-grained refresh_interval. thanks

Yes. See time part in this section: https://docs.fluentd.org/configuration/config-file#supported-data-types-for-values
Of course, frequent refresh makes CPU usage higher and we don't test such cases for now...


Update translations for 4.1.2

Hello translators! Spyder version 4.1.2 is soon to be released and we'd like to ask for your help to update your respective translations.
We plan to do this release tomorrow, so it'd be great if you could help us with this by April 2th 10:00 pm UTC at most. It's ok if you cannot make it on time, we can release the updates on subsequent version.
French
@afvincent
@jnsebgosselin
Hungarian
@blackPantherOS
@martindurant
Japanese
@sohnishi
Portuguese (Brazilian)
@sehnem
@manipuladordedados
Russian
@burrbull
@Qlogin
Spanish
@ccordoba12
@goanpeca
@juanis2112
Simplified Chinese
@suokunlong
@kingmo888
@nnnewb
@gepcel
German
@alexschw
@be-we
@bnavigator
Polish
@wojnilowicz
Cheers and thanks again!

It seems German translators will have to do a pull request instead of using Crowdin because the new strings for this release are not reported there for that language (I really don't understand why, sorry).
All the other translators can use Crowdin without problems.

No it's fine. The new strings are in there. I just did the translation already. But good that you know, what you are doing. (SCNR)

Sarcasm aside, I'm not in charge of this. Ok, I just saw you already translated the missing strings. What confused me is that no new commit was pushed by Crowdin to PR #11825.
I'm investigating what happened there.

@bnavigator, how did you update the strings in Crowdin before we synced them there?

Ok, I triggered the update from Crowdin manually and the new commits were sent to PR #11825, as expected. Sorry for the hassle.

@bnavigator, how did you update the strings in Crowdin before we synced them there?

I didn't. I just saw #12083, went to Crowdin and saw that there were untranslated new strings. It must have been after the sync.

From https://crowdin.com/project/spyder/activity_stream it looks like the new strings were already synced by @goanpeca yesterday.

Ok, I see. I thought he synced them today.

Hi @ccordoba12,
why don't you send one single notification that new translation is needed instead of subscribing every past translator to this thread?
Now, if I'm not interested, then I'll get a lot of spam unless I unsubscribe from this thread myself.
Cheers
Ł.

Sorry, the notification is the issue we open to inform translators that a new release is coming. I just had some troubles understanding how the new Crowdin process works because @goanpeca is in charge of that but he's not available right now. Please try to be patient for next time.


Database Locked

I noticed this error was showing up a lot in the logs [some error] Err=database is locked. Once this happened, the web server basically died. It also ate up all available memory. The DHCP server still worked. Restarting the web service fixed it. It could be caused by too much I/O from the DHCP server not allowing the web server to do anything. If that the case, switching to a different database would probably fix it.

This problem was due to the high I/O to the SQLite database. Switching to a normal server database, in our case MariaDB, resolved the issue. For a low traffic network, SQLite would be fine. For a university level, heck no.


Cannot load libexmpi on macports

In [12]: x = ctypes.CDLL('/opt/local/lib/libexempi.dylib')
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-12-4661d7b87bd5> in <module>()
----> 1 x = ctypes.CDLL('/opt/local/lib/libexempi.dylib')

/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    351
    352         if handle is None:
--> 353             self._handle = _dlopen(self._name, mode)
    354         else:
    355             self._handle = handle

OSError: dlopen(/opt/local/lib/libexempi.dylib, 6): Symbol not found: __Z16ConvertToMacLangRKSstPSs
  Referenced from: /opt/local/lib/libexempi.dylib
  Expected in: flat namespace
 in /opt/local/lib/libexempi.dylib

The maintainer of the macports exempi port has fixed the issue.  The macports version has advanced anyway.  The docs should be fixed to reflect this.


Linker error: framework not found Crashlytics

I'm building CrashlyticsLumberjack as a framework using CocoaPods use_frameworks! option. Unfortunately the build fails with:
ld: framework not found Crashlytics

Any ideas what is going on there?
P.S. Thanks for a great and useful library!

Thanks for the report.   It looks like this is an issue with how Cocoapods is building frameworks now.  I'll look into how I could get this working as a framework, but right now it seems like the quickest solution is to introduce a dependency on the CrashlyticsFramework pod.   I don't really like that solution since most people install crashlytics through the app.
I'll try to find a way to make it so this pod can link against a framework within the main project.

Thanks @waltflanagan! I thought so too that new CocoaPods feature and Fabric's bundled Crashlytics framework is to blame here.

The issue here is that using spec.framework when integrating frameworks will link against the pod target instead of the user target. The pods project doesn't know about the Crashlytics framework from the main project, though.
You could amend the FRAMEWORKS_SEARCH_PATH in your podspec via spec.xcconfig - if the path to the Crashlytics frameworks is well-known.
Another solution and a temporary workaround is amending the FRAMEWORKS_SEARCH_PATH in the individual Podfile:
post_install do |installer|
  installer.project.targets.each do |target|
    target.build_configurations.each do |config|
    	if not config.build_settings['FRAMEWORK_SEARCH_PATHS']
    		config.build_settings['FRAMEWORK_SEARCH_PATHS'] = ['$(inherited)']
      end

      config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '"$(SRCROOT)/.."'
    end
  end
end

@neonichu thank you, but your temporary workaround doesn't seem to work for me.
I've also tried using Fabric & Crashlytics frameworks via CocoaPod instead of the ones provided by Fabric app.
Build still fails with ld: framework not found Crashlytics.

@andreyz This assumes the following structure:
.
├── Crashlytics.framework
├── Pods
│   ├── Pods.xcodeproj

If your Crashlytics.framework is located somewhere else, you have to adjust the relative path accordingly ($(SRCROOT)/.. in the example workaround).

@neonichu thanks! Fabric CocoaPod places Crashlytics.framework under Pods/Fabric/, so I just needed to adjust your workaround to point to $(SRCROOT)/Fabric.
Now I'm hitting a new issue though:
Undefined symbols for architecture arm64:
  "_CLSLog", referenced from:
      -[CrashlyticsLogger logMessage:] in CrashlyticsLogger.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

im working on getting a 2.0.1-beta spec pushed that should at least allow you to continue working.
It will have a subspec for framework usage that requires the CrashlyticsFramework pod.   This will likely conflict with any previous installs of Crashlytics or Fabric.
It looks like the Fabric podspec also doesnt play well with frameworks in cocoapods:
[!] The 'Pods' target has transitive dependencies that include static binaries: (~/Code/PodsTest/Pods/Fabric/Fabric.framework)

I just pushed the new podspec, it will be live soon*

@waltflanagan thanks!


Google Sheets to GitHub .csv Script Workflow Transfer from Theo to Crystal to Cypress

This workflow belonged to Theo, and he explained it very briefly to Crystal who never picked it up. We should run it again and Crystal doesn't know what she's doing. It's Python and Theo described it as having room for improvement and "Cypress could do it in her sleep." This should belong to Cypress, and if she's willing, it would be fabulous if Cypress would write some better documentation for it. Crystal doesn't know where it is. We should probably sit down and meet about it. We'll find where Theo put it. Maybe.

looks like it's zippedExcel2csv.py

That's the one! You found it!

@CECSpecialistI is there a time you wanted to run this again? I can go ahead and work on it if the Google Sheets are ready.

@CECSpecialistI is there a time you wanted to run this again? I can go ahead and work on it if the Google Sheets are ready.

No specific time, now would be great. We should probably run it on a regular basis. Maybe monthly?

@CECSpecialistI just ran the code and pushed any updated csv files, you should have been tagged in the commit. The code works great, but I'm going to do a bit of clean up on it and get a README file or wiki page set up on how to run it.

Thank you for your efforts! All of those things will be extremely useful and appreciated.

@CECSpecialistI
Everything's been updated and documentation is available in the Non-Mapping Documents folder. I'm going to go ahead and close this issue.


fix: github auth on desktop

chore: up to latest electron
chore: add SameSite to kw_token #656
chore: remove husky because the we've already had the github ci
feat: enable WCO on windows

Nice PR. Many highlight updates. I'm reviewing and testing now. Below are some review suggestions.

About rounded sourcetab modification

This commit change style of top source tab. I think this change can be reverted. For style related modification, I'm not sure whether the change is ok, so I'll always follow product design of main product in the market, like netease, qq music player website/app design. I think they use raw text instead of round buttons because it's not primary information of the page. I recommend to still use old style source tab.


form-data not supper object ??

today,I found a issue when using form-data，this middleware not parse object like

i found cource code

Seems to only support
Excuse me, my English is poor.

I guest you should convert object to string like {id:2, name:Tom} => "id=2&name=Tom" or not use Content-Type: application/x-www-form-urlencoded but application/json

@xuan45 is correct. As far as I know form data is always a flat structure. If you wish to inflate the data into a nested JSON object, you will have to do this yourself or just use JSON.


Behavior of overlaydata

Could you explain what is the behavior including compiler code gen for overlaydata? and what if user take of address of a overlay data?

Not sure I understand what is the question "and what if user take of address of a overlay data?"

e.g.
int __attribute__ (overlaydata) a;

int *foo(){
  return &a; // It's legal or not? what is expected code gen if it's legal.
}

The above example isn't legal as overlay data isn't loaded yet.
For it to work you need can do:
int __attribute__ (overlaydata) a;

const int *foo(){
   /* load the data overlay */
  const int *pToSameOvlData = comrvDataOverlayAllocation(a);

  /* return the actual address of the loaded data*/
  return pToSameOvlData;
}

Once done using the loaded overlay data, you need to notify the RT engine so it can release it:
comrvDataOverlayRelease(a);

Does it means even load value is illegal too?
int __attribute__ (overlaydata) a;

int foo(){
  return a;
}

Do you expect compiler emit error and aware there is comrvDataOverlayAllocation/comrvDataOverlayRelease function there?

The compiler isn't aware of the functions comrvDataOverlayAllocation/comrvDataOverlayRelease
It is the user's responsibility to use these functions and the linker will assign the function argument with the overlaydata token
From user perspective, the convention is similar calling malloc/free

If I understand correctly, a global variable declare with __attribute__ (overlaydata) can't use directly, it require change lots of compiler front-end to forbid those variable to doing any operations, but only could be a argument for some special functions?
I guess I am not get what the benefit of overlaydata attribute, comrvDataOverlayAllocation/comrvDataOverlayRelease seems like a customized malloc/free function, and it should work without overlaydata attribute?

For the example:
int __attribute__((overlaydata)) a;

int *foo(){
  return &a;
}

The overlaydata attribute would be ignored as it only applies to consts.
For:
const int __attribute__((overlaydata)) a;

const int *foo(){
  return &a;
}

foo will return the overlay token for a:
foo:
        lui     a0, %overlay_hi(a)
        addi    a0, a0, %overlay_lo(a)
        ret

A variable with __attribute__((overlaydata)) cannot be used directly e.g. the following is not allowed:
const int __attribute__((overlaydata)) a;

int foo(){
  return a;
}

@kito-cheng, is it all clear now? or you need additional information?


Cannot add user to organization

version: 1.3.0-rc1
It's OK with v1.2.3 .
Backend: MySQL.
I can add user to the system, but when I try to add it to an organization, it says 'User does not exist.'

I remove the nickname, only use account name to do it, it works well.
Example to add:
testing(testing) -- 'User does not exist'
testing -- pass

If you press F12 in browser do you see any javascript errors there when adding user to team?

I confirmed this is a bug.

Thaks, I did not have time so far to respond.


Bug fix: Remote resource pass calling error directly

Bug fix: Remote resource pass calling error directly (Just retry p2p error)

Codecov Report

Merging #103 into release-0.2 will decrease coverage by 0.26%.
The diff coverage is 100%.

@@                Coverage Diff                @@
##             release-0.2     #103      +/-   ##
=================================================
- Coverage          39.95%   39.68%   -0.27%
+ Complexity           603      599       -4
=================================================
  Files                140      140
  Lines               4428     4410      -18
  Branches             326      323       -3
=================================================
- Hits                1769     1750      -19
- Misses              2528     2533       +5
+ Partials             131      127       -4

Impacted Files
Coverage Δ
Complexity Δ

...cross/restserver/response/TransactionResponse.java
75.9% <100%> (+0.59%)
33 <0> (+1)
:arrow_up:

...com/webank/wecross/stub/remote/RemoteResource.java
93% <100%> (-0.86%)
19 <0> (-4)

...rc/main/java/com/webank/wecross/resource/Path.java
65.51% <0%> (-3.45%)
11% <0%> (-1%)

Continue to review full report at Codecov.

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


fix(proto): update the generated proto to adhere to the api linter

outstanding issues:
- file_path: bookstore.yaml.output.proto
  problems:
    - message: Custom methods should use the HTTP POST or GET method.
      location:
        start_position:
          line_number: 80
          column_number: 5
        end_position:
          line_number: 80
          column_number: 76
        path: bookstore.yaml.output.proto
      rule_id: core::0136::http-method
      rule_doc_uri: https://linter.aip.dev/136/http-method
    - message: 'Custom POST methods should set `body: "*"`.'
      location:
        start_position:
          line_number: 80
          column_number: 5
        end_position:
          line_number: 80
          column_number: 76
        path: bookstore.yaml.output.proto
      rule_id: core::0136::http-body
      rule_doc_uri: https://linter.aip.dev/136/http-body
- message:
    'Unexpected field: Update RPCs must only contain fields explicitly described
    in AEPs, not "path".'
  location:
    start_position:
      line_number: 32
      column_number: 3
    end_position:
      line_number: 32
      column_number: 18
    path: bookstore.yaml.output.proto
  rule_id: core::0134::request-unknown-fields
  rule_doc_uri: https://linter.aip.dev/134/request-unknown-fields
- message: List responses should only contain fields explicitly described in AEPs.
  location:
    start_position:
      line_number: 46
      column_number: 3
    end_position:
      line_number: 46
      column_number: 30
    path: bookstore.yaml.output.proto
  rule_id: core::0132::response-unknown-fields
  rule_doc_uri: https://linter.aip.dev/132/response-unknown-fields

Ones that i'll try to fix:
    - message: The `parent` field should include a `google.api.resource_reference` annotation.
      location:
        start_position:
          line_number: 42
          column_number: 3
        end_position:
          line_number: 42
          column_number: 20
        path: bookstore.yaml.output.proto
      rule_id: core::0132::request-parent-reference
      rule_doc_uri: https://linter.aip.dev/132/request-parent-reference
- message: The filename has invalid characters.
  location:
    start_position:
      line_number: 9
      column_number: 1
    end_position:
      line_number: 9
      column_number: 26
    path: bookstore.yaml.output.proto
  rule_id: core::0191::filenames
  rule_doc_uri: https://linter.aip.dev/191/filenames

merging this and will follow-up with remaining issues in the next PR.


action: c/c++ build failed

Run make db_mock
make: *** No rule to make target 'db_mock'.  Stop.
Error: Process completed with exit code 2.

#3 이 아직 안되었고, run-on을 ubuntu가 아닌 google test docker로 변경해야 함.
Run make --directory=./sample/async
make: Entering directory '/home/runner/work/docker-googletest/docker-googletest/sample/async'
g++ -o Test async_test.cpp -std=c++11 -lgtest -lgtest_main -lgmock -lpthread
async_test.cpp:1:10: fatal error: gtest/gtest.h: No such file or directory
    1 | #include <gtest/gtest.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:3: Test] Error 1
make: Leaving directory '/home/runner/work/docker-googletest/docker-googletest/sample/async'
Error: Process completed with exit code 2.


[BUG] - The property ValidDialogue returns substitutions that have -1 Certainty

Fixed

Sucessfully reproduced the bug, working on a fix


Make LocalAI more ethical by adding docs config options

Background
As you all may know, there are a lot of controversies with AI. This technology has exploded in capability and popularity but we still don't have much in the way of information on its effects. However, that doesn't mean we shouldn't take the time to think about our usage of AI and where its data comes from. There is also some legal gray areas as AI messes with our understanding of ownership.
A solution (sort of)
Obviously this problem is very broad and has no right answer. That's why I propose a chart that lists all the models localAI supports and there legal, ethical and moral rankings. Such a chart should list legal risks, training data source and a models factual accuracy. I particularly like nextclouds ranking as found here: https://nextcloud.com/blog/ai-in-nextcloud-what-why-and-how/
Anouther issues with LocalAI is its disregard of free/libre software. It pulls in Nvidia proprietary software automatically and does not ask for user consent. I would like to see a completely FOSS version of localAI that doesn't pull any non-free dependencies at all and is completely free of proprietary blobs. Such a image would be limited to CPUs more than likely but in my mind it would be absolutely worth it.

Background
As you all may know, there are a lot of controversies with AI. This technology has exploded in capability and popularity but we still don't have much in the way of information on its effects. However, that doesn't mean we shouldn't take the time to think about our usage of AI and where its data comes from. There is also some legal gray areas as AI messes with our understanding of ownership.
A solution (sort of)
Obviously this problem is very broad and has no right answer. That's why I propose a chart that lists all the models localAI supports and there legal, ethical and moral rankings. Such a chart should list legal risks, training data source and a models factual accuracy. I particularly like nextclouds ranking as found here: https://nextcloud.com/blog/ai-in-nextcloud-what-why-and-how/

While I tend to second this, I think it is out of scope for the project, however help is appreciated in that direction and contributions are welcome.

Anouther issues with LocalAI is its disregard of free/libre software. It pulls in Nvidia proprietary software automatically and does not ask for user consent. I would like to see a completely FOSS version of localAI that doesn't pull any non-free dependencies at all and is completely free of proprietary blobs. Such a image would be limited to CPUs more than likely but in my mind it would be absolutely worth it.

That's not accurate and does not picture the current state: there are standard images without Nvidia blobs which are CPU only and Nvidia images. If Nvidia blobs are in standard images I consider that a bug. ffmpeg
for similar reasons  is in separated images.


Use SDK in factset/stachschema-sdks to get TypeScript definitions for Stach schema

This is necessary not to write type definitions ourselves. You can find related type definitions here: https://github.com/factset/stachschema-sdks/tree/master/js/packages/stach
After that, you can change types in signatures with these types.

[ ] Change types in signatures with types in the SDK.

Done: https://github.com/softeria-test/vue-grid-component/commit/826ded9c29f1ec2c0e29deea90d7997764469016


mini player feature

May just not be implemented yet though

don't intend to work on a mini player but ill add it to the backlog

The original Ytmdesktop has some code for this already you could possibly use?

I'd just like to show my support for a mini player. I only just discovered your version of the desktop player today, and have up to this point been using the version from https://ytmdesktop.app. I absolutely love the mini player and being able to put it on my second screen at work to admire album art while I do other things.

@GallopingCow @Justsnoopy30 mini player development is in progress

@Venipa Thank you so much for your time and effort in this!
I've been very frustrated with the original ytmd app lately because my music is constantly pausing and skipping songs at random. I've been assuming it's an issue with system resources, but I don't seem to have the same trouble with this app.
I'd love to see an option for the miniplayer to just show the album art with overlaid song information and playback controls that appear on mouseover. In my opinion, the mini player from the original ytmd app was perfect because I could dedicate a small corner of my screen (or an entire quarter of my second monitor at work) to just showing the album art.


Add Header and Footer

https://blog.tdk.best/reactjs/reactjs-header-and-footer/
https://reactgo.com/reactrouter-header-footer/

https://dev.to/dhintz89/header-main-footer-in-react-32pm

https://www.geeksforgeeks.org/how-to-create-header-in-react-js/

Check whether https://github.com/react-materialize/react-materialize is compatible with react 18


implements req.getPathName()

Description
implements function req.getPathName() in GUI and CLI

Resolves #2480, #1874, #987, #3195
GUI

CLI
$ node ~/dev/bruno/packages/bruno-cli/bin/bru.js run f2/subgoogle.bru
Running Request

f2/subgoogle (200 OK) - 372 ms
** PostResponse script **
Execution Mode:cli
Pathname:/home/tom/Documentos/test/Test/f2/subgoogle.bru
** PostResponse script  END **
   ✓ HTTP OK

Requests:    1 passed, 1 total
Tests:       1 passed, 1 total
Assertions:  0 passed, 0 total

Contribution Checklist:

[X] The pull request only addresses one issue or adds one feature.
[X] The pull request does not introduce any breaking changes
[X] I have added screenshots or gifs to help explain the change if applicable.
[X] I have read the contribution guidelines.
[X] Create an issue and link to the pull request.

Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.

Great PR, however I personally feel the chosen name is quite confusing. I would rather expect to get the current path part of the Request URL than the script location. Maybe we could rename it to something more clear. All the related Feature Requests suggested different names, maybe we take one of those or any other.

Replying to @nikischin

Great PR, however I personally feel the chosen name is quite confusing

I agree

I would rather expect to get the current path part of the Request URL than the script location.

Using a part of the request URL may be complicated. Some APIs use path parameters in the request URL, some have query parameters and some may have special characters. req.url should be good if a script requires the request URL.
I would prefer if the meta object in the bruno request was exposed. That would give the request name with req.meta.name.

Thanks for your feedback @nikischin, @varunvora
For my use case I ended up triming the result of req.getPathName() in script to get relative path + bru name. I think this function could be splitted in two:
req.getRelativePath() ==> Relative path + filename.bru
req.getName() ==> request name wuthout 'bru' extension

About include them as properties insted of methods I have no preference but previous approved PRs added methods, so I think it is more probable to get this merge as methods.
What do you think?

I personally don't have any opinion on the implementation, as I did not have the need for this feature yet. However, I guess this is a valuable feature, so I would support it being implemented. I was just trying to recommend renaming it to something more precise.
With getPathName() is it not clear what path is meant. Do we mean the path part of the request URL or the file location path? In this case the second one but honestly, the first one was the first thing for me to come in mind.
That's why I was recommending to rename it, maybe we could use getFilePath() or something to make clear it does not return the request URL.

@tlaloc911 thanks for your proposal!
I like req.getName() and req.getRelativePath() 👍

hi @helloanoop , what do you thing about this?, your feedback is appreciated


Clone/Build issue

Hi. I'm getting this message (Xcode 8 b3, Swift 3): "The following build commands failed:
Check dependencies
(1 failure)
=== BUILD TARGET AudioKit OF PROJECT AudioKit For iOS WITH CONFIGURATION Release ===
Check dependencies
“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly."
Is there a workaround?
Many thanks for the hard work.

This is basically a repeat of this issue:  https://github.com/audiokit/AudioKit/issues/511
If you're using beta, you have to be able to build yourself.


Android Export Bug

Godot version
4.0 stable
System information
Windows 11
Issue description
well when you try to export the project for for android u get error and warning but after u reopen godot and try to export it works fine then try re exporting for the second time u will get the same error and warning and sometime a different error and u have re open and re export again to make it work
Steps to reproduce
followed the docs and didnt work at all then when I switched to JDK 17 it got that error but with JDK 11 it wont work at all
Minimal reproduction project
.

What error and warning? What settings are you using?
Please provide more information

Closing due to lack of response, if you respond with more information this can be reopened


[FEATURE] Install slurm utilities in NFS area so all machines can see it, no need to recompile for every machine.

I haven't studied the following completely by reviewing the code, so apologies in advance if it exists.
When I run the ansible playbook to install on my workstation machines so they can all submit to the HeadNode, slurm is being recompiled and installed locally every time.
Is there a way for me to just install the utilities on an NFS mounted area, say an NFS mounted /usr/local/slurm area, and then just reference that?  Same for the config files that might be used to tell slurm where/who the HeadNode is?
Or is there some reason for this requirement?

Let me test this, but it should be storing the compiled binaries on the Slurm head node's NFS export so that all instances can see it.
So, it should only need to be compiled once per OS distribution and architecture.
Let me test and make sure that it is detecting that it has already been done.

As noted, I haven't dug into this, but I do see that the slurm commands are on the mounted head_node..pcluster:/opt/slurm
I have only installed on one "user workstation" so it might be ok and doing the right thing.

The slurm binaries are only compiles on the submitter if they haven't previously been compiled for the OS and architecture of the submitter. They are compiled locally and then installed at /opt/slurm/ClusterName/config/os/... which is on the cluster's head node.
If you run the configuration script again it will run the ansible playbook, but it won't recompile the binaries because they already exist.


Enable Check Enforcer.

This PR enables Check Enforcer by dropping in the configuration file. Once this is done we just need to set it as a required check.

/cc @Azure/azure-sdk-eng