Upstreaming 1/n - lib/git/*

@ten3roberts I'm thinking about how to split this all up - welcome your feedback on it. It seems like it's almost entirely additions, so hopefully nothing breaks.
That said, I think the easiest way to handle this is to do this branch-stack style, and maybe merge top-down? I donno. Lets try that, and you can tell me if it works :)
edit:
I don't think I can stack them properly since the base branch is on my fork, and I don't have write access to this repo. Annoying. I'll try to figure out a nicer way, but for now, here are the next steps in the stack:

https://github.com/CKolkey/neogit/pull/28
https://github.com/CKolkey/neogit/pull/29
https://github.com/CKolkey/neogit/pull/30

Great.
I am not familiar with what merge top-down is, so please enlighten me.
Othewise it looks great.
What method are you using to split apart the branches into separate ones? Rebase from BASE and discard or something else?

Oh, by top-down I just mean that if we have:
master <- branch1 <- branch2 <- branch3
Where the arrows indicate the base of the branch.
We would start by merging branch3 into branch2
...then branch2 into branch1 (which now includes branch3)
...then branch1 into master (which includes branch2 and branch3).
Does that make sense?
And to do this, all I did was pull a fresh master from this repo (upstream from my point of view), and run: git reset --soft upstream master, which gave me a state where all my changes were uncomitted. Then, I  created a new branch based on upstream/master, and started committing files. Once that branch felt like "enough", new branch off current, continue.
The only real downside to this approach is that git history is lost, but if that makes it easier to review then I won't lose any sleep :shrug:

That is clever and sounds like a good way to go about it. I am always on the lookup for new workflows.
Wouldn't this PR merge (master <- branch1) <- branch2 so that at the point of merging branch2 the diff of branch1 is already in master?

Yea, the workflow kinda broke because I don't have write access to this repo. branch2, 3, and 4 are on my fork.

Ahh, that's a good idea. Let's do that - lemme know when you make a branch and I'll update the base of this one to point there.

Awesome, done. I'll have all the branches point to that one, then we can just go in order I guess :)


Deprecated endpoint

It appears that one of the endpoints to get info from list_energy_sites() endpoint has been deprecated.
# Simple code to demonstrate problem

from tesla_api import TeslaApiClient
from datetime import datetime
import time

now = datetime.now()
print(now)
print("Starting Tesla5 program...")

client = TeslaApiClient("username", "password")

energy_sites = client.list_energy_sites()
print("Number of energy sites = %d" % (len(energy_sites)))
assert(len(energy_sites)==1)

# Output

==================== RESTART: C:/Python/Powerwall/Tesla5B.py ===================
2021-01-30 10:28:55.929762
Starting Tesla5 program...
Traceback (most recent call last):
  File "C:/Python/Powerwall/Tesla5B.py", line 11, in <module>
    energy_sites = client.list_energy_sites()
  File "C:/Python/Powerwall\tesla_api\__init__.py", line 94, in list_energy_sites
    return [Energy(self, products['energy_site_id']) for products in self.get('products')]
  File "C:/Python/Powerwall\tesla_api\__init__.py", line 69, in get
    self.authenticate()
  File "C:/Python/Powerwall\tesla_api\__init__.py", line 55, in authenticate
    self._token = self._get_new_token()
  File "C:/Python/Powerwall\tesla_api\__init__.py", line 33, in _get_new_token
    raise AuthenticationError(response_json['response'])
tesla_api.AuthenticationError: Authentication to the Tesla API failed: endpoint_deprecated:_please_update_your_app.
>>>

Feel free to make a PR if you know how to update it. I don't have solar or powerwall to test this myself.

Feel free to make a PR if you know how to update it. I don't have solar or powerwall to test this myself.

Problem is I'm not sure what's broken...still trying to work it out.

Problem is I'm not sure what's broken...still trying to work it out.

Actually, I misread the traceback. I think they must have disabled the password login.
Therefore this is probably a duplicate of #31.

Actually, I misread the traceback. I think they must have disabled the password login.
Therefore this is probably a duplicate of #31.

Tesla have disabled the v2 authentication endpoint, meaning that v3 / MFA flow is now required:
https://github.com/timdorr/tesla-api/issues/215

Tesla have disabled the v2 authentication endpoint, meaning that v3 / MFA flow is now required:
https://github.com/timdorr/tesla-api/issues/215

As I suspected. Closing as duplicate of #31.

As I suspected. Closing as duplicate of #31.

Thanks, have started following.  Hopefully someone will post a fix as I have a few scripts that are now broken.

Thanks, have started following.  Hopefully someone will post a fix as I have a few scripts that are now broken.

If nobody else has a go at it, I'm sure I'll get round to it in a few weeks.

If nobody else has a go at it, I'm sure I'll get round to it in a few weeks.


Extract raw filename from mime

This is necessary to handle new version of the mime package and allow creating the CDROM directory layout for cloud-init.

Can we have this as an option to handleMimeMultipart()? So it looks like this?

I can make it be an option. But I'd really like to figure out how we can avoid this mime multipart handlling in EVE-OS. A cloud-init compatible guest VM should handle it but not all are compatible.

But I'd really like to figure out how we can avoid this mime multipart handlling in EVE-OS. A cloud-init compatible guest VM should handle it but not all are compatible.

I agree 100%. I think the whole piece should be out of eve-os. Whatever you pass as userdata will be passed to the guest ECO verbatim. If the ECO image cannot handle it, that is its problem, not eve-os's.

I can make it be an option.

If we have to have this, then we probably should make it an option. If we can get out of this business entirely, all the better.


feat: added the External Link to Documentation button to the Editor

Changes

added the External Link to Documentation button to the Editor

Screenshots

Check please if the approach of storing the links to documentation is okay


Usage documentation

Add README content for importing docs, rendering with the ContentBlock component, and enabling syntax highlighting.

Usage is awkward currently, so holding off until it's refactored.


Fix Footer Font Size

Description: issue #1
This PR addresses an issue with the font size in the footer, ensuring consistent styling across different pages and devices. The previous font size was too small and impacted readability on both desktop and mobile devices.
please add appropriate gssoc labels

done


bioawk parsing is wrong with this bison version

Issue:
I tried to use bioawk on a few servers. I first installed it on one server (OpenSUSE) from bioconda channel, but the parsing was wrong (see https://github.com/lh3/bioawk/issues/34). Than I used git version on several servers (Gentoo and CentOS) and it worked fine except on the first OpenSUSE server. On this server I had a problem compiling the git version (missing yacc) so I did conda install bison and then I could compile bioawk just fine. However after compiling the new git bioawk gives the same wrong parsing results as the bioconda version.
To summarise: bioawk works with git version correctly, if there was already yacc present on the system. If it wasn't present and I installed it from conda forge using bison package, it doesn't work correctly.

Environment (conda list):

$ conda list
# packages in environment at /home/koci/miniconda3/envs/bioawk:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
bioawk                    1.0                  h84994c4_4    bioconda
bison                     3.4                  he1b5a44_1    conda-forge
flex                      2.6.4             he1b5a44_1004    conda-forge
libgcc-ng                 9.1.0                hdf63c60_0
libstdcxx-ng              9.1.0                hdf63c60_0
m4                        1.4.18            h14c3975_1001    conda-forge
zlib                      1.2.11            h516909a_1006    conda-forge

Details about  conda and system ( conda info ):

$ conda info

     active environment : bioawk
    active env location : /home/koci/miniconda3/envs/bioawk
            shell level : 2
       user config file : /home/koci/.condarc
 populated config files : /home/koci/.condarc
          conda version : 4.6.14
    conda-build version : not installed
         python version : 3.6.3.final.0
       base environment : /home/koci/miniconda3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://conda.anaconda.org/bioconda/linux-64
                          https://conda.anaconda.org/bioconda/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/linux-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/koci/miniconda3/pkgs
                          /home/koci/.conda/pkgs
       envs directories : /home/koci/miniconda3/envs
                          /home/koci/.conda/envs
               platform : linux-64
             user-agent : conda/4.6.14 requests/2.21.0 CPython/3.6.3 Linux/4.1.15-8-default opensuse/42.1 glibc/2.19
                UID:GID : 1017:100
             netrc file : None
           offline mode : False

Is it possible bioawk is sensitive to the version of bison? If so, should this be constrained in that package somehow?

I have no idea. Were there some parsing-related changes between versions?

Have you brought this up with the maintainers of bioawk? That is where I would start.

I forgot to close this after I found my issue was caused by my locale. Closing now.


Give consistent error message in console and output file

Fix for - #1722

If you wish to close the associated issue, mention in the PR's comment: "fixes #xxx"

Now if we don't specify a file for output don't we have double output (stdout & stderr)?

@fredbi Nice catch. Will check it.


sync build-scripts with other images

hack/ directory should be just mirrored
Makefile should be as declarative as possible
build.sh should not rely on repository name

[test]


Enhancement: ability to locate specific pokemon

Given the population of searches, query for a specific and only one Pokemon.  The scan could be large but if the DB is indexed by the active spawns and the ID of the Pokemon, should be able to note if exists in say a 50
Mike radius.

We're adding notifications soon. If that's what you mean...


NO-TICKET: use correct protocol version in linear chain method

This PR fixes a long standing TODO which was awaiting the protocol version being added to the block header, but was overlooked when that was made available.

I think that's already fixed in https://github.com/CasperLabs/casper-node/pull/1119, which is about to be merged soon hopefully?

I think that's already fixed in #1119, which is about to be merged soon hopefully?

Oh - OK.  Thanks.  I'll close this PR in favour of #1119


What is "result"

Hello,
Your documentation is incomplete. What is "result" in the code here? It is not defined. Also it says that Futures.addCallback is already deprecated.
JSONObject payload = new JSONObject();
payload.put("access_token", result.getAccessToken());
ListenableFuture<MobileServiceUser> mLogin = mClient.login("{provider}", payload.toString());
Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() {
@Override
public void onFailure(Throwable exc) {
exc.printStackTrace();
}
@Override
public void onSuccess(MobileServiceUser user) {
Log.d(TAG, "Login Complete");
}
});

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

ID: b6022f85-4530-ba2f-dfee-83b52b473f18
Version Independent ID: 1a9a396f-6a39-0e70-9350-65b9ce0f8a02
Content: How to use the Azure Mobile Apps SDK for Android
Content Source: articles/app-service-mobile/app-service-mobile-android-how-to-use-client-library.md
Service: app-service-mobile
GitHub Login: @conceptdev
Microsoft Alias: crdun

Hi @zzulueta, thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

Hi @zzulueta result is an AuthenticationResult, see the longer code example in the ADAL section just below the code snippet you mentioned.
I'll see if I can make this clearer in the doc.
Thanks for the note about the deprecated method - I'll pass that on.

Thanks for the reply .
On a separate note, is there some documentation that explains how developers can access the Facebook user id or google user id once a user has logged in via server or client flow authentication? Once a user logs in , it would be a nice feature to show his name and photo in an app. So the data must be stored somewhere in azure to access the data in order to make the necessary requests to fb and google

I don't think we have that covered in our documentation, but I believe you need to use the authentication token you obtain in the authentication process to access the Facebook Graph.
Here is a really old blog that mentions it: Using the Facebook Android SDK .. Azure Mobile and the Facebook SDK for Android docs.
I have not seen Google discussed, but I assume it's a similar approach: take the auth token and use it to request additional information from the Google backend.

Hello,
"but I believe you need to use the authentication token you obtain in the
authentication process to access the Facebook Graph." - that's what I
exactly did. I did a LOG of the MobileServiceUser class and did
user.getAuthenticationToken().
I applied that value to this link as specified in stackoverflow:
https://graph.facebook.com/me?access_token= and it says bad request. It
seems that the token from FB is stored somewhere and Azure has a new token
just for itself.
On Thu, Nov 8, 2018 at 7:41 AM Craig Dunn<EMAIL_ADDRESS>wrote:

I don't think we have that covered in our documentation, but I believe you
need to use the authentication token you obtain in the authentication
process to access the Facebook Graph.
Here is a really old blog that mentions it: Using the Facebook Android
SDK .. Azure Mobile
https://blogs.msdn.microsoft.com/carlosfigueira/2014/01/07/using-the-facebook-android-sdk-for-logging-in-to-azure-mobile-services/
and the Facebook SDK for Android docs
https://developers.facebook.com/docs/android/.
I have not seen Google discussed, but I assume it's a similar approach:
take the auth token and use it to request additional information from the
Google backend.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/18352#issuecomment-436818660,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Anij6nFJ-2yt1HaR_b-92I4lrHOSe3unks5us2-agaJpZM4YR09t
.


Missing Error Code 0x80c80243

The error code "0x80c80243 Security Descriptor size is too large" should be included on this page with information about size limitations.

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

ID: 7235bd07-1172-ac6a-3dab-0200fd73bd87
Version Independent ID: 9620b286-fe9e-0c56-c01f-ddf7c3c36ac0
Content: Troubleshoot Azure File Sync
Content Source: articles/storage/files/storage-sync-files-troubleshoot.md
Service: storage
Sub-service: files
GitHub Login: @roygara
Microsoft Alias: rogarana

@rwarnke Thanks for your question. We are checking on this and will respond to you soon.

@rwarnke Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Error 0x80c80243 was added to the doc. The updated content should be published later today.

#please-close


Update active_utils to 3.0.0, change namespace.

@karlhungus @jnormore @arthurnn @wvanbergen this gets out of ActiveMerchant's bizness by implementing the namespace change, bumps the version, and of course depends on https://github.com/Shopify/active_utils/pull/36. It looks like a lot of changes, but that's just due to moving the files around; look at the commits individually for a better picture of what's changing.
Any feedback? Looking good to proceed?

Again, it would be nice to have a prerelease of active_utils so we can run the tests.
/cc @kmcphillips

Closing in favor of #209


fix: issue a warning if CRD couldn't be applied

fix: unwrap optional
fix: issue a warning if CRD couldn't be applied

Fixes #981

@metacosm split from the other PR? Sorry for causing problems, but I'm used to one commit per PR from EAP/WildFly :)

Not sure what you mean by other PR?


runtime.gc bug

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go1.9.2
Does this issue reproduce with the latest release?
yes,but can only be reproduced once a day
What operating system and processor architecture are you using (go env)?
centos-4.3 amd64 2.6.32_1-14-0-0
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GORACE=""
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build835692229=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
it's a server program
What did you expect to see?
it should run OK with no panic
What did you see instead?
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1c pc=0x4515d7]
runtime stack:
runtime.throw(0xa3b7f8, 0x2a)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/panic.go:605 +0x95
runtime.sigpanic()
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/signal_unix.go:351 +0x2b8
runtime.tracebackdefers(0xc4204bb680, 0x517d6f68, 0x0)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/traceback.go:102 +0x117
runtime.scanstack(0xc4204bb680, 0xc420021260)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/mgcmark.go:780 +0x17b
runtime.scang(0xc4204bb680, 0xc420021260)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/proc.go:869 +0x1f6
runtime.markroot.func1()
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/mgcmark.go:264 +0x6d
runtime.systemstack(0x517d7088)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/asm_amd64.s:360 +0xab
runtime.markroot(0xc420021260, 0x71)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/mgcmark.go:245 +0x308
runtime.gcDrain(0xc420021260, 0x5)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/mgcmark.go:912 +0xd4
runtime.gcBgMarkWorker.func2()
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/mgc.go:1776 +0x80
runtime.systemstack(0xc422c0c1b8)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/asm_amd64.s:344 +0x79
runtime.mstart()
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/proc.go:1135
goroutine 27 [GC worker (idle)]:
runtime.systemstack_switch()
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/asm_amd64.s:298 fp=0xc420034f48 sp=0xc420034f40 pc=0x45b3a0
runtime.gcBgMarkWorker(0xc420020000)
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/mgc.go:1763 +0x202 fp=0xc420034fd8 sp=0xc420034f48 pc=0x41b302
runtime.goexit()
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420034fe0 sp=0xc420034fd8 pc=0x45dfd1
created by runtime.gcBgMarkStartWorkers
/home/scmtools/buildkit/go/go_1.9.2/src/runtime/mgc.go:1658 +0x7e

This looks like memory corruption. Have you tried running your program under the race detector? See https://blog.golang.org/race-detector .
Also, it looks like you're running centos 4 with an upgraded kernel. You need to know that Go does not support RHEL5 or earlier, so depending on where you got that kernel, it may not meet the minimum requirements to run Go.

we add '-race' build option,and there is many race warn.maybe this bug will be fixed after we fix all race warn

Yes. A program with a data race in it is not valid and data races often cause runtime crashes.
Closing this, since it's not a Go bug.


add vars for custom subnet and route table names

Fixing #167

v1.42.0 has been released.
Due to inconsistencies in names used for tagging of aws_route_table.database and aws_subnet.database resources, this release will apply tagging (tag Name will include db). Update your scripts, if they rely on tag Name.


replace data-uri placeholder

Fixed validation error. @kul3r4 PTAL

Just one suggestion on the narrative, always LGTM

Thanks - fixed the wording.


[PS] parse XML to typescript objects

User stories
As a dev I want to parse our generated save files in order to use the parsed objects for plan generation.
Needed for:

#125

Acceptance Criteria

[ ] xml is parsed correctly (probably use tests for debugging)
[ ] works with XLM String Variable

we get typescript objects from js definitions


Provide java annotation alternatives for javadoc tags

For each of the javadoc tags used by the Frank!Doc, a java annotation should exist as an alternative:
@ff.mandatory -> @MandatoryAttribute
@ff.default -> @DefaultValue
@ff.optional -> @OptionalAttribute
This allows the parser to use these values too, and allows to override values without having to respecify the javadoc.

You write: "... and allows to override values without having to respecify the javadoc". Do you mean that the JavaDoc tags should not be removed, because you do not want to have to replace all JavaDoc tags? Or is there something more to it?

You write: "... and allows to override values without having to respecify the javadoc". Do you mean that the JavaDoc tags should not be removed, because you do not want to have to replace all JavaDoc tags? Or is there something more to it?

I expect it to possible that javadoc tags and java annotations can co-exist, like javadoc and the IbisDoc annotation can co-exist.


Add cert-management tutorials for Gardener.

This PR adds an operator as well as an app-developer tutorial for certificate management via Gardener.

Thanks @rfranzke, PTAL.

"example/10-secret-certificate-management-config.yaml" is't a link....I will change this

where is the file "/dev/20-componentconfig-gardener-controller-manager.yaml" located?

https://github.com/gardener/gardener/blob/master/example/20-componentconfig-gardener-controller-manager.yaml or?

Thanks @freegroup.


bots: persist bot name in @mention typeahead after renaming

Fixes #7534

@timabbott Please review it and let me know if any changes are required.

@AasthaGupta This looks good, and thanks for adding tests!
Can you clean up the commit message a bit?  The commit message makes it sound like you're introducing the bug, when in fact you're fixing it. :smile:
Maybe say bot settings: Clear typeahead when renaming a bot. in the first line.  And then elaborate as needed.

@showell  I have changed the commit message.

@AasthaGupta merged thanks!


Feature/partner

Some content is still missing.
fix #22

Nice! Looks good!
Are you done with everything except for the missing content (University of Magdeburg)? I just ask, because you marked the PR as Draft

Yes, I'm done. I thought I should keep it as a draft because of the missing content.


Lichess might change the FEN format

https://github.com/lichess-org/lila/issues/15197
Probably not on the UI side, though.

Apparently the UI is left unscathed.


Expose GameTime

GameTime is a very important metric that should absolutely be included in the data, as many games use GameTime instead of RealTime.

I'm going to start working towards another release, would you like me to work on this or had you already started this implementation? I know that you had talked about starting it in the PR conversation we had earlier so I don't want to step on your toes if you had already been making progress :)

No. I haven't started working on it. Feel free to do it yourself. Am 17.03.2024 um 03:45 schrieb Trevor Bushnell @.***>:
I'm going to start working towards another release, would you like me to work on this or had you already started this implementation? I know that you had talked about starting it in the PR conversation we had earlier so I don't want to step on your toes if you had already been making progress :)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Sounds good, I will have this finished and will create another release with your two changes by the end of the day tomorrow so that you can start using it for your project :)


Make sure FOR iterator statement correlates correctly

This fixes an issue introduced in #1757, where declaring a view for
the iterator was done in a temporary scope so we lost the tree
modifications.

OK this isn't right yet, since WITH X := {1, 2} SELECT ((FOR x in {X} UNION (SELECT x)), X); still computes a cross product, although that bug predates the original one.


pd_client: use stream RPC for TSO requests

What problem does this PR solve?
The mechanism that TiKV gets timestamps from PD was not well implemented. Every time it needs to get a timestamp, it creates a stream RPC to PD and just send a request.
After async commit is implemented on TiKV, when a region becomes a new leader, TiKV needs to get a timestamp from PD before the new region leader starts to serve writing requests. So if a large number of regions become leaders in a short time, it is really inefficient to get so many timestamp one by one stream RPC.
A user with millions of regions tried to run tiup cluster restart and many regions cannot work after quite some while because of MaxTimestampNotSynced errors. This is probably because the problem described above. It is also a heavy burden for PD to handle millions of TSO requests in a short time without any batch mechanism.
What is changed and how it works?
This PR re-implements the get_tso method. The code is mostly ported from https://github.com/tikv/client-rust/blob/4404c7e1f0c2128d1947e0c8a27f4771c9f9221f/tikv-client-pd/src/timestamp.rs plus some bug fixes. Of course the bug fixes will be submitted to the client-rust later.
After TiKV connects to PD, it creates only one stream TSO RPC. A tso-worker thread is created to handle requests and bundle them into batch requests to PD.
Related changes

Need to cherry-pick to the release branch (?)

Check List
Tests

Manual test (add detailed scripts or steps below)

Release note
None

/merge

/run-monitor-test

/merge


examples: porting examples to gtk+2.0 on linux

Hi all，
I'm trying to porting examples to gtk2 on linux. I had tried porting a version to support both linux+gtk2 and tizen systems. Most of the demos looks like normal, but I'm not sure whether this code is right on tizen / ecore system. I can't verify it. Can anyone try it?
Issue: https://github.com/thorvg/thorvg/issues/1244

@onecoolx Hello, may I ask what prompted you to switch to GTK? I assume there was a specific need for you.

@onecoolx Hello, may I ask what prompted you to switch to GTK? I assume there was a specific need for you.

I prefer developing cross-platform graphics applications. I found that the code related to the local window system on each platform can be abstracted into an encapsulation layer, and then the upper code is isolated from the window system. As you see, the patch I submitted actually supports two UI system at the same time. EvasPlatform.cpp retains the original EFL support, and Gtk2Platform.cpp implements the porting of gtk2.0.

@onecoolx Hello, may I ask what prompted you to switch to GTK? I assume there was a specific need for you.

Another reason is that EFL opengl doesn't work well on my ubuntu : )

@onecoolx Hello, may I ask what prompted you to switch to GTK? I assume there was a specific need for you.

Another reason is that EFL opengl doesn't work well on my ubuntu : )

Firstly, thank you for your contribution. I assure you that EFL works perfectly with OpenGL on Ubuntu. I believe it's just a simple matter of environment setup. Nonetheless, the framework is an additional usage in ThorVG just for a showcase. My concern is that multiple choices and dependencies will significantly increase the maintenance burden for the ThorVG project. Therefore, in my opinion, ThorVG should depend on one framework at most for the showcase. We need to consider which framework is the easiest and most adaptable among user systems. Perhaps we might be able to replace EFL with GTK but more than it, unlike GTK, Qt, EFL, and others, I prefer the framework having minimal dependencies and being lightweight, so it's quite portable. Again, thanks for your contribution and let's see.

@onecoolx Hello, may I ask what prompted you to switch to GTK? I assume there was a specific need for you.

Another reason is that EFL opengl doesn't work well on my ubuntu : )

Firstly, thank you for your contribution. I assure you that EFL works perfectly with OpenGL on Ubuntu. I believe it's just a simple matter of environment setup. Nonetheless, the framework is an additional usage in ThorVG just for a showcase. My concern is that multiple choices and dependencies will significantly increase the maintenance burden for the ThorVG project. Therefore, in my opinion, ThorVG should depend on one framework at most for the showcase. We need to consider which framework is the easiest and most adaptable among user systems. Perhaps we might be able to replace EFL with GTK but more than it, unlike GTK, Qt, EFL, and others, I prefer the framework having minimal dependencies and being lightweight, so it's quite portable. Again, thanks for your contribution and let's see.

Yes, I agree. But in my opinion, Gtk2 is a better choice than EFL even if it only supports one GUI backend. gtk supports most Linux systems you can find, and supports MacOSX and Windows.

EFL works on mac and windows

I prefer the framework having minimal dependencies and being lightweight,

Hmm，SDL ? Maybe better?

@onecoolx Hello, thank you for your contribution. However, as discussed here, I'm considering using GLFW because of the less size and dependency. If you'd like to suggest more benefits of GTK over GLFW, please feel free to share them before confirming it. Thanks.

@onecoolx Hello, thank you for your contribution. However, as discussed here, I'm considering using GLFW because of the less size and dependency. If you'd like to suggest more benefits of GTK over GLFW, please feel free to share them before confirming it. Thanks.

I agree with others that GLFW is a better choice for ThorVG.


Move the functions (koryphe) library out of Gaffer to a dedicated repository

The functions library should be moved out of Gaffer and into it's own repository so that it can easily be shared between projects.

I think it's fine to have a dependency on an external functions library, but Gaffer should own the core interfaces that define the functions it can do (aggregate, filter elements, transform elements, etc) and these should not depend on external functions libraries. It must be possible to plug-in other function libraries later - we may want to write higher performance libraries later.

@gaffer01 - I agree. I have raised a separate issue to refactor the code to remove the hard dependency on Koryphe functions: gh- 820.

As part of this issue we should also move the functions in core-library to the koryphe library.

I've created a koryphe repository ready.

The code has been added to the develop branch in the koryphe repo. Once koryphe version 0.1.0 has been released we can remove the koryphe code out of the Gaffer repository.

Migration steps
A large number of functions, aggregators and transforms have now been moved into the Koryphe library. This has meant we have had to rename the packages for these functions.
e.g
uk.gov.gchq.gaffer.function.filter.IsMoreThan
-> uk.gov.gchq.koryphe.impl.predicate.IsMoreThan

We have also renamed packages so they match the Java 8 function interfaces:
filter -> predicate
aggregate -> binaryoperator
transform -> function

e.g
uk.gov.gchq.gaffer.sketches.datasketches.theta.function.aggregator.UnionAggregator
-> uk.gov.gchq.gaffer.sketches.datasketches.theta.binaryoperator.UnionAggregator

List the predicate examples for further details.

Merge into develop.


Add Mario Jump game

This game will be same as chrome dino jumping game by Mario instead of Dino and random enemies instead of cactus

@iamrahulmahato can you assign me this issue


Bug in properties in AdditonalFilters

The last element of extra filter list will be deleted after "search".

:bug We need a delete function delete additionFilters from list.

🐛
Add: If add 2 filters -> search -> become 3 filters

delete support sequencial deletion
delete support single deletion
delete 2nd, delete 1st -> correct
:bug delete 1st -> all hidden -> 2nd in list


Scaling for Welch method

I'm struggling to use the signal.welch method. I'm not sure if it is a bug, my own lack of understanding, or just missing documentation.
I expect the code below to produce a properly scaled PSD, but changing the nperseg parameter changes the magnitude of the output. I presumed the welch function is meant to internally handle complexities like window length and zero padding. Is this not the case, or is this a bug? The documentation does not hint anywhere that manual scaling of the result is required or what it should be.
Reproducing code example:
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import welch, periodogram

# Create a simple sine wave
amp = 3.
freq = 50.
fs = 200.
T = 10
N = T * fs
t = np.arange(N) / fs
x = amp*np.sin(2*np.pi*freq*t)

# Compare periodogram with Welch method using different nperseg (window lengths)
f, Sxx = periodogram(x, fs=fs, window="boxcar")
f1, Sxx1 = welch(x, fs=fs, window="boxcar", nperseg=100)
f2, Sxx2 = welch(x, fs=fs, window="boxcar", nperseg=200)

# If the sine wave's frequency does not land precisely on a frequency bin we cannot expect the results to match
assert freq in f, "{} not precisely on a frequency bin".format(freq)
assert freq in f1, "{} not precisely on a frequency bin".format(freq)
assert freq in f2, "{} not precisely on a frequency bin".format(freq)

# Plot the results for visual inspection
plt.plot(f, Sxx, label="Sxx")
plt.plot(f1, Sxx1, label="Sxx1")
plt.plot(f2, Sxx2, label="Sxx2")
plt.xlabel("Hz")
plt.ylabel("$\mathrm{Units}^2 / \mathrm{Hz}$")
plt.legend()
plt.show()

# My understanding is that the peaks in each spectrum should be approximately equal
assert Sxx.max() == Sxx1.max() == Sxx2.max(), "All results are not equivalent"

Error message:
N/A

Scipy/Numpy/Python version information:
1.0.0 1.13.3 sys.version_info(major=3, minor=6, micro=3, releaselevel='final', serial=0)

What are the units that you are expecting the spectrum to have?  Given your expectations, it sounds like you want scaling='spectrum', where the units are V**2 if the input is in V.  These routine default to scaling='density', where the units are V**2/Hz, where the area under the curve is preserved.

@ewmoore  Thanks for such a quick response.
I am trying to compare results of data I measured to previous results taken at a different sampling frequency and for a different duration. I'm interested in how the manitudes compare. Based on your response, it sounds like the only valid way to make that comparison would be by comparing the power spectrum in units V**2, not the spectral density in units V**2/Hz. Is that correct?

If you want to compare the magnitude of your spectra, you should use scaling='spectrum'.  If you compare integrals over a bandwidth, you should use scaling='density'.
I don't know what your application is, so I can't say if this is really what you should be doing.
I'm going to close this as there is no bug or feature request here, discussion can, of course, continue, but this may not be the best forum.

@ewmoore Thanks for clearing up my misconception. I agree that it working as described.


Fix multiline github links

Links to github files with multiple lines are not in the right format.
Should be according to: https://help.github.com/en/github/managing-your-work-on-github/creating-a-permanent-link-to-a-code-snippet

Indeed. Thanks.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_5db1dlac1c/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_5db1dlac1c/clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_5db1dlac1c/clone/recipe/meta.yaml:22: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_5db1dlac1c/clone/recipe/meta.yaml:40: missing_description: The recipe is missing a description
ERROR: /tmp/abs_5db1dlac1c/clone/recipe/meta.yaml:40: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_5db1dlac1c/clone/recipe/meta.yaml:40: missing_license_family: The recipe is missing the about/license_family key.
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_danrol9u5b/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_danrol9u5b/clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_danrol9u5b/clone/recipe/meta.yaml:22: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_danrol9u5b/clone/recipe/meta.yaml:40: missing_description: The recipe is missing a description
ERROR: /tmp/abs_danrol9u5b/clone/recipe/meta.yaml:40: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_danrol9u5b/clone/recipe/meta.yaml:40: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


[AutoPR managementgroups/resource-manager] Updating 2018-03-01-preview to include a few extra fields and parameters

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3267

(message created by the CI based on PR content)

Codecov Report

Merging #2784 into restapi_auto_managementgroups/resource-manager will not change coverage.
The diff coverage is n/a.

@@                               Coverage Diff                               @@
##           restapi_auto_managementgroups/resource-manager    #2784   +/-   ##
===============================================================================
  Coverage                                           56.01%   56.01%
===============================================================================
  Files                                                7365     7365
  Lines                                              154340   154340
===============================================================================
  Hits                                                86459    86459
  Misses                                              67881    67881

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 af49340...8412d5f. Read the comment docs.


Add a docs page for signup items table in application edit page

See: https://door.casdoor.com/applications/app-built-in , especially all options in the rule column.

We should add docs to: https://casdoor.org/docs/application/config

@Resulte


workflow syntax updates

Codecov Report

Merging #217 (d48ed0d) into main (048a04b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #217   +/-   ##
=======================================
  Coverage   70.98%   70.98%
=======================================
  Files          35       35
  Lines        3222     3222
=======================================
  Hits         2287     2287
  Misses        935      935

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


poetry build error [KeyError]

[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name:
Poetry version:
Link of a Gist with the contents of your pyproject.toml file:

Issue

version: 0.12.17
Poetry build error:
[KeyError]
'version'
ruamel.yaml = "0.16.5"

{'tool': {'poetry': {'name': 'HttpTesting', 'version': '1.1.98', 'description': 'Httptesting HTTP(s) interface testing framework.', 'license': 'Apache-2.0', 'readme': 'README.md', 'authors': ['天枢<EMAIL_ADDRESS>'homepage': 'https://github.com/HttpTes
ting/pyhttp', 'repository': 'https://github.com/HttpTesting/pyhttp', 'keywords': ['http', 'api', 'test', 'requests'], 'classifiers': ['Environment :: Console', 'Topic :: Software Development :: Documentation', 'Topic :: Software Development :: Libraries :: Python Modules', 'Operating System :: Microsoft :: Windows', 'Development Status :: 3 - Alpha', 'Framework :: Pytest'], 'include': ['LICENSE', 'httptesting/templates/', 'httptesting/config/', 'httptesting/case/*'], 'dependencies': {'Python': '^3.5', 'pyyaml': '5.1.1', 'pytest': '5.0.1', 'pytest-html': '1.21.1', 'pytest-repeat': '0.8.0', 'pytest-rerunfailures': '7.0', 'pytest-xdist': '1.29.0', 'requests': '2.22.0', 'requests-toolbelt': '0.9.1', 'colorama': '0.4.1', 'ruamel': {'yaml': '0.16.5'}}, 'dev-dependencies': {}, 'scripts': {'am': 'httptesting.main:run_min', 'amt': 'httptesting.main:run_min'}}}, 'build-system': {'requires': ['poetry>=0.12'], 'build-backend': 'poetry.masonry.api'}}

add

You need to put quotes around "ruamel.yaml" otherwise it will be considered as a dotted key. The error is not clear but this has been improved in the 1.0.0 preview releases, so you might want to try them out.


Moving Traject from orangeindex, adding Solr view of bib records (second try)

Did the specs make it over?
https://github.com/pulibrary/orangeindex/tree/development/spec

I knew it was too easy -- I did not copy the specs.  Let me retry with keeping the specs.

wishes for Harry Potter emoji


Update ShellViewModel.cs

I made a modification to handle an exception that make TumblThree crashing.
I handle a null value in some case in the item1 part of the errormessage.

I change the way i correct to handle another case, now it seems to work properly in each cases...


Fill in condition-specific parameters during parameter mapping

Currently this only happens for dynamic parameter overrides.

@dweindl I lost track, what is the status on this?

@dweindl I lost track, what is the status on this?

Nothing happened here: https://github.com/ICB-DCM/PEtab/blob/develop/petab/parameter_mapping.py#L152


Unknown column inspection triggers for object string values

SomeModel::create([
    'prop_1' => $val1,
    'prop_2' => $var = new SomeObject(
        prop1: 'Val1', // <--
    ),
]);

The same inspection triggers when using relationship()->pluck('...')

Thanks for reporting 👍 Will look into

Can't reproduce the issue with settings not persisting 🤷
I've fixed the issue with column inspection in create method


Replaced get_random_secret logic with more secure version

In the get_random_secret function, the generated secret key is divided into four equal parts, each containing a specific set of characters (uppercase letters, special characters, lowercase letters, and digits). While this approach ensures that the secret key has a mix of character types, it might lead to lower entropy in some cases.
For example, if the length of the secret key is small, the rounding operation (round(length / 4)) could result in an uneven distribution of characters from different sets. This might decrease the entropy of the generated secret key, making it more predictable and less secure.
To improve entropy in this function, it is better to randomly pick characters from a combined set of uppercase letters, special characters, lowercase letters, and digits. This will ensure that each character has an equal probability of being chosen at each position in the secret key, leading to higher entropy and a more secure random secret string.

Coverage: 75.079%. Remained the same when pulling aeb02b24006e8867547c03e5e752b83ec12df829 on ikkebr:fix_random_secret into c1ef7600bf288c2eaeb5672437fa9b862a93aa73 on Netflix:master.


Added Cryptography I course

`Courses
Duration
Effort
Prerequisites

Cybersecurity Fundamentals
8 weeks
10-12 hours/week
-

Principles of Secure Coding
4 weeks
4 hours/week
-

Identifying Security Vulnerabilities
4 weeks
4 hours/week
-

Identifying Security Vulnerabilities in C/C++Programming
4 weeks
5 hours/week
-

Exploiting and Securing Vulnerabilities in Java Applications
4 weeks
5 hours/week
-

Cryptography I
7 weeks
2.5 hours/week
-`

try this


Unable to run the example

I tried:
npm create wakuwork
cd wakuwork-example

Then installed packages with:
npm i --legacy-peer-deps

And tried to run it:
npm run dev

But got this error:
➜  wakuwork-example npm run dev

><EMAIL_ADDRESS>dev
> NODE_OPTIONS='--loader tsx' wakuwork dev

(node:22229) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
file:///Users/USER/Desktop/projects/RSC/wakuwork-example/node_modules/react-server-dom-webpack/esm/react-server-dom-webpack-node-loader.production.min.js:386
      throw new Error('Expected source to have been transformed to a string.');
            ^

Error: Expected source to have been transformed to a string.
    at transformSource (file:///Users/USER/Desktop/projects/RSC/wakuwork-example/node_modules/react-server-dom-webpack/esm/react-server-dom-webpack-node-loader.production.min.js:386:13)
    at async Loader.moduleStrategy (node:internal/modules/esm/translators:142:17)
    at async link (node:internal/modules/esm/module_job:64:21)

Env:
➜  wakuwork-example node -v                 v16.4.0
➜  wakuwork-example npm -v                  7.18.1

M1 mac

Thanks for reporting!
Hm, it works for me.
$ node -v
v16.19.0
$ npm -v
8.19.3

Expected source to have been transformed to a string.

I've seen this error and know how to handle it. If I can reproduce this error locally, the fix should be easy...

I was using Volta with Node(v16.4.0) so instead, I tried nvm and installed Node 16.19.0 and npm 8.19.3 then it worked.
So I think it was because of nodejs/npm version.

So I think it was because of nodejs/npm version.

I'll check it out later.

It is running but I have lots of failed connections on the console, is it normal?

Yes, it's how vite works.

BTW one question, can we have SSR with Wakuwork, beside having RSC?

On my todo list, there's opt-in SSR support. But, I don't think it's very easy. Besides, I believe SSR doesn't add much value in our case in my mind. But, we will see. (and to see it, i need to experiment.)

I'll check it out later.

node v16.16.0 -> errors
node v16.17.0 -> works
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md?plain=1#L676
So, we depend on a feature available since 16.17.0. I'll add the minimal requirement.


Makes NetAddress comparable

Provides two types of equality.
1: "basic equality"
Compares all the fields of NetAddress to see if they are equal. This
is the comparison if we use == or eq.
2: "address equality"
Compares based on the ip address portion of NetAddress. Does not
take port, family, length or scope into account. We are using
"address equality" at Sendence to compare, "is this IP for a local
or remote address" which is in turn used to decide whether to turn
on TCP_NODELAY (on Linux, using TCP_NODELAY on local addresses has
a negative impact on our performance/stability. Using it on
remote addresses helps our performance/stability).

@sylvanc @jemc i believe this is what we all agreed upon, yes? if yes, i'll add a couple basic tests around equality for this. marking as "do not merge" for now until y'all sign off and i add the tests.
i'm not sure, is length supposed to be part of the equality comparison? it's not clear to me what it is.


Add optional data (data://) folder to be accessed in a similar way as user:// except located in parallel to the exe

Godot version:
All
OS/device including version:
All
Why:
This would add a traditional option to breakup your application. Lets take fallout for instance, a lot of the modding options are stored in a local folder parallel to the executable for ease of access to be modified, while they move user settings, hotkeys, etc... to the shared user folder to prevent loss of data. Even steam does a similar thing, you can literally delete every file inside the steam folder except the exe and it'll attempt to regenerate the necessary files back parellel to the exe's location.
Now you could do this manually by using the OS class, but I think it would be cleaner if existing api's like File and Json, etc... worked directly with this path.
How would you access this?
Through data://. all it would do is read/write data from /Data/ parallel to the exe. Nothing less, nothing more.

Isn't this possible by simply using File without root specifier? Paths without res:// or user:// access the working directory, which is next to the executable since File just wraps the C file API. Btw, that can't be portable (web and mobile), but I think it's doable already, right?

Well, the problem I see with it is that some platforms do not have writeable executable folders.
E.g. Android, (and I suspect iOS), plus in some cases the executable will be installed in a folder where you need superuser permission to write on other platforms too.
Additionally, you could get that folder in game via some tricks:
OS.get_executable_path().get_base_dir() (will return the executable path, but in editor, it will be the editor path)
You could try with something like:
	var path = ProjectSettings.globalize_path("res://")
	if path == "":
		# Exported, will return the folder where the executable is located.
		path = OS.get_executable_path().get_base_dir()
	else:
		# Editor, will return one level above the project folder
		path = path.get_base_dir().get_base_dir()

I like this idea, but where would data:// point to in a non-exported project? Would it point back to res:// ?

@TGRCdev yeah that'd be the idea. Thing is we'd need a way to tell the exporter to exclude data folder if one exists from being included in the PCK/Zip and copy the folder outside of the .PCK - then it comes the 'what do we call this folder? Data, .Data etc...
@Zylann not sure I haven't tested, but then there's still the issue of what I posted in my message to TGRCdev - how do we deal with the exporter and yeah the other messages regarding mobile & html5

how do we deal with the exporter

The importer/exporter is not bundled with exported projects so if there is a data folder, it's gonna have to be accessed without the importing fashion of load, probably... which makes it a regular folder you can access already with File, as I said. Was this what you meant about dealing with the exporter? Otherwise I still don't get what feature a special "data://" specifier would give to the engine that can't be done already. Perhaps I'm not completely understanding the issue?

@Zylann alright, so I tested what you were explaining and you're right, you can already do this by leaving off the res & user root identifiers.
using System.Linq;
using Godot;
using Godot.Collections;

namespace DTAA
{
    public class Items : Control
    {
        public override void _Ready()
        {
            ItemLoader();
        }

        public void ItemLoader()
        {
            var data = string.Empty;
            var file = new File();
            if(file.Open("Data/items.json", (int) File.ModeFlags.Read) == Error.Ok)
            {
                data = file.GetAsText()?.Trim();
                file.Close();
            }

            if(data.Empty())
                return;

            var json = JSON.Parse(data);
            if(json.Result is Array jsonArray)
            {
                foreach(var item in jsonArray.ToList())
                {
                    if(item is Dictionary itemDict)
                    {
                        GD.Print($"Item: {itemDict["name"]} with weight: {itemDict["weight"]}");
                    }
                }
            }
        }
    }
}

win64-bin.zip
So maybe I should rename/recreate this issue to: Allow us to include folders outside of and exclude from the PCK file since you have to manually do this yourself. Check the example I used above.

Rather than have a data:// path, why not instead have an option to toggle user:// between where it links currently, and a folder parallel to the EXE? The only difference between user:// and the proposed data:// is where we're linking to -- as far as I can tell, any conceivable use cases would be the same between the two.

Rather than have a data:// path, why not instead have an option to toggle user:// between where it links currently, and a folder next to the EXE? To me, the use cases of a data:// path would be the same as the use cases of a user:// path... unless there's something I'm missing, of course?
But if you really need to differ between the two for whatever reason, I imagine Faless's code would do just fine.

I also think what is described here are use cases for the user:// path. If the objective is to have a portable self-contained game, then it would be better to have something like Godot editor's self-contained mode rather than a new data:// path that's not guaranteed to work.

@LikeLakers2 it's unnecessary since you can negate the user/res root from the path completely and do just that.
I gave an example in the post right above yours.

The way I see such a folder is a way to store files to be easily user-modifiable while not user-specific.

[@exts] it's unnecessary since you can negate the user/res root from the path completely and do just that.

Then that means having data:// as its own path is, again, unnecessary... That's sort of what I was already saying: Why are we wanting to introduce a new data path when (1) there's a consistent way already to access the path it wants, and (2) it would be solving the same use cases as another data path?

[@aaronfranke] The way I see such a folder is a way to store files to be easily user-modifiable while not user-specific.
...
but let's say for example that you want people to be able to insert a custom sprite sheet or something, then it's best not to have that inside the executable nor in user://.

I'm not sure I understand. If a game supports such modding capability, I'm not sure multiple users using the same system would want to share such modifications -- plus, what's wrong with having those mod files in user://?

(remaking my comment as I completely rewrote my responses after some thought)

[@exts] it's unnecessary since you can negate the user/res root from the path completely and do just that.

Okay, then there's a way to access this path (seemingly reliably) already. Why are we still wanting to add it then?

[@aaronfranke] The way I see such a folder is a way to store files to be easily user-modifiable while not user-specific.
...
but let's say for example that you want people to be able to insert a custom sprite sheet or something, then it's best not to have that inside the executable nor in user://.

I'm not sure why those user modifications have to be stored next to the executable... If a game doesn't support modding, then the users will already be editing the game's files -- and if it does, I'm not sure multiple users using the same system would want to share such modifications between each other anyways.

If a game doesn't support modding, then the users will already be editing the game's files -- and if it does, I'm not sure multiple users using the same system would want to share such modifications between each other anyways.

What? This whole thread is about allowing users outside of the shared folder to add/modify things in a traditional fashion. Look at fallout, civ, etc... the only data in shared folder is settings the rest is game code exposed to the user in the application directory open for modification.

What? This whole thread is about allowing users outside of the shared folder to add/modify things in a traditional fashion. Look at fallout, civ, etc... the only data in shared folder is settings the rest is game code exposed to the user in the application directory open for modification.

...If that's what you're talking about, then just take my previous proposal and apply the idea to res:// (exported files go alongside the executable, instead of in a .pck). Boom, problem solved.
I still don't see a use case that requires a dedicated data:// path.

@aaronfranke What you're talking about using data:// for is called modding, and I already addressed this above:

I'm not sure why those user modifications have to be stored next to the executable... ... and if [the game does support modding], I'm not sure multiple users using the same system would want to share such modifications between each other anyways.

@aaronfranke I said to apply the idea to res:// instead of user://:

just take my previous proposal and apply the idea to res://

Alright, so from what I understand, you don't want a directory you can write to at run time, right?
This looks a lot like the res:// path, only with the exception it also works with the file system and not only the PCK when exporting the game.
Not sure how important this is considering you can already access the file system, only there is no prefix for the executable directory. You can call OS.get_executable_path().get_base_dir() to get that directory (OS.GetExecutablePath().GetBaseDir() in Godot with StringExtensions, or Path.GetDirectoryName(OS.GetExecutablePath())).
Another thing to keep in mind is that Godot's way of doing this kind of stuff like modding is through packed containers (pck/zip). Is there any limitation with these that forces you to use the file system instead? The only I can think of are libraries that can only receive a path to something on the file system, or shared libraries that need to be loaded.

@neikeq I guess it's about using paths directly through existing api's which you can already do if you omit res:// and user:// as shown in my example above. @aaronfranke does have a point that when calling the exe from a different path other than it's current directory, it'll look from the directory you're calling the exe which is a problem and I could see why he would want a data:// but that limits the file system way of doing things.
I think there could be a solution to my suggestion since the main OP has changed as new information has been presented.

Allow direct file system calls to be locked to the original exe's directory, this could be a setting in the project settings. So when you call File.Open("Direct/Path") and you execute the exe from cli like ./SubFolder/Game.exe it won't be looking for Direct/path inside of ./, but rather the location of the exe instead.

Give us the option to exclude specific directories/files (which I think you might be able to do already?) from the .PCK folder in the export project settings page while allowing us to completely copy those same folders/files outside of the .PCK folder along side the exe to be exposed to an 'advanced' user.

Allow direct file system calls to be locked to the original exe's directory, this could be a setting in the project settings. So when you call File.Open("Direct/Path") and you execute the exe from cli like ./SubFolder/Game.exe it won't be looking for Direct/path inside of ./, but rather the location of the exe instead.

That... sounds like it's ripe for confusion. Honestly, I don't even know if I'm understanding your suggestion correctly.

Give us the option to exclude specific directories/files (which I think you might be able to do already?) from the .PCK folder in the export project settings page while allowing us to completely copy those same folders/files outside of the .PCK folder along side the exe to be exposed to an 'advanced' user.

So basically an option to export all the game files to be alongside the executable, rather than into a .pck file? I could get behind that, but I have one concern, and that's with platforms like Android or macOS: I don't think they like game files being outside of the executable.

@LikeLakers2 this wouldn't be used in mobile applications or html applications ever because of how those projects are packaged. This is purely a change for desktop games.

yes

[@exts] this wouldn't be used in mobile applications or html applications ever because of how those projects are packaged. This is purely a change for desktop games.

Okay, but then at that point, why aren't you just using Faless' or neikeq's suggestions? If it's not going to be portable to all platforms, there's no reason we should be adding a new data path...

If you're complaining that you need access to a folder next to the executable, then use Faless' or neikeq's suggestions. So far that's what you're wanting, right? I've read and reread your comments and every one of them seem to imply you want access to a folder next to the executable.
Otherwise, I have exactly zero idea what you're talking about, and you'll need to explain to me what you're referring to because I cannot for the life of me figure out what this issue is about.

@LikeLakers2 you're not really contributing to the discussion. I've been pretty clear on what I've been saying post my c# example now and you don't seem to understand anything I've written previously.

I'll do you a solid and close this issue and create another one referencing this issue because my suggestion has clearly drifted from the original post about halfway through this comment chain after information provided by @Zylann.


Decide how to handle swear word list

Currently all the words are committed in the repository as swearwords.txt, I want to find a better solution for removing the need to have this committed - either downloading on the fly wordlists from somewhere (which could allow for updating) or something else.
Just want to get the conversation going and see what people think is the best solution.

So as of right now, if someone wants an updated swearlist, they have to update the NPM package? Are you wanting them to be able to have access to an updated list without having to update the NPM package?
I guess my question would be what is the use case for the no-swears package. I have some ideas but would like more info so I can help you brainstorm!

Yeah, currently the only way to update it would be updating the npm package. I'd rather have it behave somewhat like an adblocker where it can update the list on it's own - plus we'd also have an open wordlist for anyone else to use.

You can host on a external server but instead of using a plain (.txt) file you can use a json structure and make GET requests like "https://someserver.com?q=swearword"


Readme update qsharp

Have you read the Contributing Guidelines on Pull Requests?
yes
Description
updated readme files of qsharp
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#1132

@HarshCasper kindly review and merge it

anyone please merge it

@NEEHITGOYAL Sorry for the late response. As I can see you have added README.md for all the sub-folders of all the languages, but we do prefer single README in the main folder which work as an index for the whole lang folder. This is because having readme for all the sub-folders individually will make it quite hard for contributors to edit 2 readmes everytime they contribute and will also make the maintainer's work troublesome. Another main reason of not approving this proposal is that making simultaneous changes to readme often lead to merge conflicts and we try to avoid that here coz most of the newbies have hard time resolving it.

Okk there were readme file already so I thought I should complete it and I assure there will be no merge conflicts because there are changes in only internal readme


Modify relationships not named after their type

Priority
Is this PR blocking your next action?
Yes, we cannot update relationships which are not named the same as their type
Screenshot

What Changed & Why
Pretend we some models defined as such:
jsonApi.define('tourist', {
  name: '',
  favourite_cities: {
    jsonApi: 'hasMany',
    type: 'city'
  },
  visited_cities: {
    jsonApi: 'hasMany',
    type: 'city'
  }
})
jsonApi.define('city', { name: '' })

JSON:API allows us to modify the relationship between cities at a URL like /tourists/1/relationships/visited_cities—see the docs here.
However Devour assumes the relationship is named the same as the model:
jsonApi.one('tourist', 1).relationships().all('visited_cities').patch(...)
// Error: API resource definition for model "visited_cities" not found. Available models: tourist,city

This change allows us to specify the name of the relationship in the call to relationships(), by checking the previously selected model has a relationship of that name, and adding the correct model and path to the builder stack:
jsonApi.one('tourist', 1).relationships('visited_cities').patch(...)
// PATCH /tourists/1/relationships/visited_cities

This change removes the need to follow with .all, however the spec suggests that the path segment following /relationships should never have a param following it, so this new implementation makes this explicit and easy. I have preserved the old behaviour of relationships() to keep backwards compatibility.
I am very open to alternative solutions on this (in issues I have seen suggested the idea of .adding relationships) but this seems like a fairly clean one.
This fixes #146 and addresses further #46, which was initially completed in #99.
Testing
List step-by-step how to test the changes.

[x] Unit tested the URL is built correctly
[x] Unit tested patch and destroy work correctly
[x] Unit tested that the correct errors are thrown
[x] Tested the above in a console

Thanks
Thanks for the OSS, we rely on this heavily!

Is anyone still supporting/maintaining this library?

really love this library. I would love to help in maintaining this library.

@Emerson, any chances this PR could make it into a release any time soon? Could we help it somehow?


Call to undefined method Illuminate\Database\MySqlConnection::collection()

I thought this repo automatically connected with Laravel DB query builder? Is there something else I need to do?

Hello,
Please give us more information, what are you trying to do and how we can reproduce?
Is this similar to https://github.com/jenssegers/laravel-mongodb/issues/1103?
Thanks!


Auto generate examples in http server API docs

Recently we've had the issue that every time the schema is altered, the example transaction payloads in the http server docs need re-hashing and there is no easy way of doing it.
Given this, it was easier to automate the process such that the payloads are generated when the docs are built with Sphinx.
There were several options for performing this build step, one was using a GIT hook such that generated .rst assets are built and committed to the repository. But for simplicity and ease of use, we opted for the building to take place as a build step in the Sphinx documentation build.
The next problem was that Sphinx doesn't have a notion of pre-build steps, and ReadTheDocs doesn't allow you to override the entry point for building. To solve this we are somewhat abusing the Sphinx extensions in conf.py; documentation generators are imported pre-build and perform their work out of the setup() method.
Additionally, a test has been added to check that the documentation builds are working as expected (TODO!).

Current coverage is 96.64% (diff: 100%)

Merging #891 into master will not change coverage

@@             master       #891   diff @@
==========================================
  Files            27         27
  Lines          1671       1671
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1615       1615
  Misses           56         56
  Partials          0          0

Powered by Codecov. Last update a30c79f...49726c4


Confusing reference to "preceding section"

Documentation contains this line: You can start by creating the directory structure, as described in the preceding section, "Application package file structure."
However, there is no other instance of "Application package file structure" on this page and searching for this title in the "Filter by title" search bar provides no results.

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

ID: 5ba24261-dcbc-996f-e3c7-1ed65aa64ff8
Version Independent ID: 4bb442ea-a5e3-8021-884e-665e608baa7c
Content: Deploy an existing executable to Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-deploy-existing-app.md
Service: service-fabric
GitHub Login: @msfussell
Microsoft Alias: mfussell

Thanks for the feedback! We are currently investigating and will update you shortly.

@DianeHadley good point. I see the same thing :)
@msfussell @aljo-microsoft could you take a look? Seems like we are missing a link

@DianeHadley
https://github.com/MicrosoftDocs/azure-docs/pull/25804
@MicahMcKittrick-MSFT
#Please-close


Adds slottable Encryption Keys

About the PR
Adds a range of encryption keys and the ability to slot them into a headset.

I mainly did this one as a training exercise for myself since I have no ECS/game-dev/C# experience and am honestly dumbfounded I managed to fluke my way into a working implementation, no matter how simple.
I'm PR'ing cuz someone told me "couldn't hurt to try". Sorry if they're wrong!
Screenshots

Changelog
add: Added encryption keys. You can now insert them into headsets! (They do nothing and you can't get one atm)

Forgot to mention I do plan to follow up with the actual departmental channels.
Just thought it'd be a good idea to compartmentalize.

Repo deleted?

Repo deleted?
Or is github trolling me.

No I totally deleted it due to a bug I was having (that was completely unrelated to what I changed, but since I lack experience, seemed like a good idea). Turns out it wasn't my code.
Since mirrorcult is working on a radio refactor, I thought it prudent to just wait (and forgot to close the PR, sorry again.)
I can re-PR it if you think it's worth anyone's time!

Did you ping her on it or did you see the draft PR?
The code looked mostly okay, it's just as a new contributor I'd prefer if the whole thing was there before merging.

Did you ping her on it or did you see the draft PR?
The code looked mostly okay, it's just as a new contributor I'd prefer if the whole thing was there before merging.

I did both. I saw the draft PR and asked her about it, but I didn't go into details. Just asked if she was still working on it and went "Ah ok, I'll wait then".
I'm actually surprised you found the code to be mostly ok. This fills me with confidence.
I assume by "You'd prefer the whole thing was there before merging" you mean "check with mirrorcult specifically"?

Nah it's more that it's kinda placeholder right now but from my perspective there's no guarantee you'd finish it.
If she's still working on it we can just close it for now and re-open when she's done.
The main 2 things I saw (because for whatever reason github isn't letting me add comments) is

You added a new filetype to gitignore which is a bit suss
You never added the encryption key to the itemslot in the InteractUsingEvent
For sprites unless you need it you'll want to add "netsync: false" to it.

Aaaaaaah okay, gotcha! You're right, this is placeholder as they have... no use whatsoever. They were not added to all headsets on game init, nor did they do anything. This was just "adding the item and half-inserting it correctly."
 Yeah, I completely forgot about this. I was trying to add the .bak exclusion because it's a file generated by notepad++ when you don't save your progress. Instead of adding it globally to my machine, I added it to the repo itself. Will correct in future PR's!
2: D'oh! Thanks for pointing it out. I'll fix it too.
3: Gooooootcha. I know what you're talking about, so will add whenever I re-PR this.
All in all, I'm surprised this was even passable by a maintainer's standards.
Thank you for your time reviewing it! You can close it while I wait for the radio rework, and when that's done, I'll PR it again.
Cheerio!


GitHub actions

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f9684e0). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #621   +/-   ##
=========================================
  Coverage          ?   42.33%
=========================================
  Files             ?      320
  Lines             ?    22969
  Branches          ?        0
=========================================
  Hits              ?     9725
  Misses            ?    13244
  Partials          ?        0

Flag
Coverage Δ

unittests
42.33% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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 f9684e0...68e1ac5. Read the comment docs.


White spaces while resizing app using chrome console device switching

Steps to Reproduce
Run a flutter web app on Chrome. Open console using F12 key. Change device options. I have attached a video for reference.
This is happening on both debug and release builds. This however doesnot happen incase I use resize on the browser window using mouse cursor.
https://user-images.githubusercontent.com/67138059/128638792-9dc5b3f6-fd52-4b74-9b3d-f34f0fbd94a1.mp4
Expected results: App should resize correctly
Actual results: App resizes with white space at bottom or sometimes the whole webpage goes blank

Logs
`flutter analyze` Outputs

warning - The include file 'package:flutter_lints/flutter.yaml' in 'D:\AndroidStudioProjects\wenelsahra_admin\analysis_options.yaml' can't be found when analyzing
       'D:\AndroidStudioProjects\wenelsahra_admin' - analysis_options.yaml:10:10 - include_file_not_found
   info - 'FlatButton' is deprecated and shouldn't be used. Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\artist\update_artist.dart:304:24 - deprecated_member_use
   info - 'FlatButton.icon' is deprecated and shouldn't be used. Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\artist\update_artist.dart:304:24 - deprecated_member_use
   info - 'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\artist\update_artist.dart:406:11 - deprecated_member_use
   info - 'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\business\Account\signup_business.dart:146:28 - deprecated_member_use
   info - 'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\contactus\about_us.dart:76:9 - deprecated_member_use
   info - 'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\contactus\personal.dart:77:9 - deprecated_member_use
   info - 'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\misc\misc.dart:81:9 - deprecated_member_use
   info - 'FlatButton' is deprecated and shouldn't be used. Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\news\news.dart:55:13 - deprecated_member_use
   info - 'FlatButton' is deprecated and shouldn't be used. Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\news\news.dart:89:22 - deprecated_member_use
   info - 'FlatButton.icon' is deprecated and shouldn't be used. Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\news\news.dart:89:22 - deprecated_member_use
   info - 'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\news\news.dart:108:22 - deprecated_member_use
   info - 'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\screens\specialOffer\specialOffer.dart:50:9 - deprecated_member_use
   info - 'FlatButton' is deprecated and shouldn't be used. Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\widgets\common_widgets.dart:24:9 - deprecated_member_use
   info - 'FlatButton.icon' is deprecated and shouldn't be used. Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). This feature was
          deprecated after v1.26.0-18.0.pre. - lib\widgets\common_widgets.dart:24:9 - deprecated_member_use

15 issues found. (ran in 2.4s)

[√] Flutter (Channel beta, 2.4.0-4.2.pre, on Microsoft Windows [Version 10.0.19043.1151], locale en-IN)
    • Flutter version 2.4.0-4.2.pre at D:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f18b9281c2 (2 weeks ago), 2021-07-22 14:08:30 -0700
    • Engine revision 844c29f42a
    • Dart version 2.14.0 (build 2.14.0-301.2.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\shata\AppData\Local\Android\Sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\shata\AppData\Local\Android\Sdk
    • Java binary at: D:\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31321.278
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 4.2.0)
    • Android Studio at D:\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[√] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at D:\IntelliJ IDEA 2020.3.1
    • Flutter plugin version 54.0.3
    • Dart plugin version 203.7759

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19043.1151]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 92.0.4515.131
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 92.0.902.67

• No issues found!

Hi @shatanikmahanty
This is the same issue as https://github.com/flutter/flutter/issues/77084
Please follow up on that issue, Closing as duplicate of https://github.com/flutter/flutter/issues/77084
If you disagree, please write in the comments and I will reopen it.
Thank you


Create Switch component

Remains to be done :

[ ] Customize the Widget.Vitamin.Switch style
[ ] Take a decision on hover
[ ] Take a decision on textAppearance (font and padding)
[ ] Update the readme.md


A question about layout

Hello,I  found  that the value of  "Writing" of the nav in the _config.yml is "archives",but when I click it, the page will jump to archive.ejs.(why not archives.ejs ). I don't know how it works.
nav:
Home: /
About: /about/
Writing: /archives/
Projects: http://github.com/probberechts
Forthermore, after creating a about.ejs in the  "\themes\cactus-dark\layout", the blog's page  will prompt that the file does not exis  instead of jumping to the page of  about.ejs  when clicking "About" .
I hope to receive your reply soon, thank you very much~!~

The archives template is called archive.ejs, while the default archive directory is archives/. It is just a decision the Hexo programmers made. If it bothers you, you can change the archive_dir setting to archive_dir: archive (I suppose, didn't test this 🙏 ).
about.ejs is not a valid template. Create the about page with
hexo new page about

and create some content in source/about/index.md.
If you would like to change the layout of the about page, you will have to edit theme/cactus-dark/layout/page.ejs.

Thank you for your reply~! I have solved my problems.
(Your theme is so cool!  I appriciate it very much~!(^__^) )


[SPARK-46660][CONNECT] ReattachExecute requests updates aliveness of SessionHolder

What changes were proposed in this pull request?

This PR makes SparkConnectReattachExecuteHandler fetch the ExecuteHolder via theSessionHolder which in turn refreshes it's aliveness. Further, this makes it consistent with SparkConnectReattachExecuteHandler.
Why are the changes needed?

Currently in ReattachExecute, we fetch the ExecuteHolder directly without going through the SessionHolder and hence the "aliveness" of the SessionHolder is not refreshed.
This would result in long-running queries (which do not send ReleaseExecute requests in specific) failing because the SessionHolder would expire from the cache during an active query execution.
Does this PR introduce any user-facing change?

Yes, it fixes the bug where long-running may fail when their corresponding SessionHolder is expired during active query execution.
How was this patch tested?

New unit test.
Was this patch authored or co-authored using generative AI tooling?

No.

Further, this makes it consistent with SparkConnectReattachExecuteHandler.

You mean ReleaseExecute handler?

Merged to master.


[DOC] Setup Github Pages for docs

Description
(Brief description on what this PR is about)

Setup Github Pages for docs

More details in this issue #4
Checklist

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

cc @awslabs/raf-reviewer

Thanks for the PR. Please be aware that README.md is auto-generated, so you will need to change docs/gen_readme.py and ci/task_check_autogen.sh accordingly.

Thanks for the PR. Please be aware that README.md is auto-generated, so you will need to change docs/gen_readme.py and ci/task_check_autogen.sh accordingly.

It is possible to merge changes to main branch or there are issues I need to fix?

Of course we could merge the PR., but please first see my comments and fix the CI error accordingly.


AUVs: Argo and Glider-DAC

Filipe's initial Argo notebook. Currently focused on the NE Pacific
Glider DAC ERDDAP example from OHW18. Try to compose queries that bring in OOI gliders too, if possible.
In addition to the material in those two notebooks, I'd like to add is a depth vs time or distance section plot, from either Argo or gliders. And/or a plot that brings the two data sources together. From our notes: Fairly similar platforms (floats vs gliders), from entirely different organizational programs and even countries (global vs US-centric/semi-global, France-hosted vs US-hosted), with a common ERDDAP access mechanism that still shows enough heterogeneity in how datasets are represented that real-world challenges are exposed. The one thing I'd add to the Argo examples is one plot showing, say, temperature, vs depth and time, for one or more floats.

https://github.com/oceanhackweek/ohw19-tutorial-data-access-viz/blob/master/Extras-ERDDAP_Argo.ipynb
https://github.com/oceanhackweek/ohw19-tutorial-data-access-viz/blob/master/Extras-ERDDAP_Saildrone.ipynb

@ocefpaf's 02-OOI-ERDDAP.ipynb notebook is based on a glider example (from the OOI ERDDAP, not from the Glider DAC ERDDAP), so much of it is very relevant to this story.
Reuse while minimizing overlap/repeating.


How to send data via a websocket using uWebsockets v0.14?

Have struggled to send data via WebSocket Group out of onUpdate , onConnection and other onSomething methods. Does it support it? If i just store the pointer to uWS::WebSocketuWS::CLIENT * will it work?

i thougt only of a broadcast but maybe it is overkill

I don't even remember how v0.14 works. You're on your own here

Ok, is this possible with the recent version?

actually solved the issue with PostCb, anyway thanks for the time


Broken link for 'plan your team's migration'

This link points to:
https://docs.microsoft.com/en-us/devops/git/centralized-to-git
Which goes to a 404.

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

ID: edd6cbc8-5e3b-c3a1-4672-d42510cc058b
Version Independent ID: 8fe81fb5-7c2d-2562-5659-55fccbb3126c
Content: Migrate from Subversion (SVN) to Git - Azure Repos
Content Source: docs/repos/git/perform-migration-from-svn-to-git.md
Product: devops
Technology: devops-code-git
GitHub Login: @vijayma
Microsoft Alias: vijayma

Hi @jasongiss - Thanks for finding this broken link. This was one of several broken links that were fixed in this PR: MicrosoftDocs/azure-devops-docs-pr/pull/3234
The changes will go live soon.


Libs not included into CLickOnce publish app root folder

FTP Server OS: Windows
FTP Server Type: FileZilla Server
Client Computer OS: Windows
FluentFTP Version: NuGet FluentFTP.GnuTLS 1.0.25
Framework: .NET 8
Libs are not getting included into app root folder on ClickOnce publish, and there is no way I can include them automatically other than creating some script that will copy them on publish event, if that is even possible, or I will have to add them to the root of my project, which is ugly. Guy, why don't you make it look for libraries in Libs/Win64 where they are located and always present, instead of searching for them in the app root folder? That would also enable me to reference NuGet package in referencing project only and not in all exe projects separately. It would work more robustly, logically and it would make our lives easier.

See #1347
Thank you for your rant.
If you know how to achieve this, please enlighten us.

See #1347
Thank you for your rant.
If you know how to achieve this, please enlighten us.

Well, based on my programming language, programmer is the one that defines where his program is look for libraries, right?

Doesn't really work that way for #dllimport. Very restricted search order. Read up on it.
So it boils down to placing the .dlls in the right folder, since you can't point to some folder of your own liking.
Which means you must have the right statements in place for MSBUILD csproj etc. to put them in the right place in different scenarios.
Teach me.

But I agree that this is an open problem, waiting to be fixed.

Maybe NuGet package can be constructed differently, how he includes FluentFTP.dll, FluentFTP.GnuTLS.dll, maybe he can include other dlls also to be copied to bin root folder on build.

Maybe NuGet package can be constructed differently, how he includes FluentFTP.dll, FluentFTP.GnuTLS.dll, maybe he can include other dlls also to be copied to bin root folder on build?

Guy, too many maybe maybe for me.

Guy, too many maybe maybe for me.

I am not a programmer for this app nor I have time for it, I am giving quick suggestions of path I would take. :)

It was a big MSBUILD fight to get the foreign, non-managed dlls to be copied in in the first place, also trying to make sure that not too many multiple copies are kept in the Nuget, to keep it small.
Ok, thank you for the suggestion.

It was a big MSBUILD fight to get the foreign, non-managed dlls to be copied in in the first place, also trying to make sure that not too many multiple copies are kept in the Nuget, to keep it small.
Ok, thank you for the suggestion.

Another maybe:

I just experimented with ClickOnce.
Try using  LoadLibraryDllNamePrefix = "Libs\\Win64\\", as config for FluentFTPGnuTls. It worked for me.

The .dlls are already in the ClickOnce folder, but under Libs\Win64. We've done out part.

If you "publish" to a folder, nothing needs to be done as the .dlls are in the same file as the .exe
If you "publish" to click once, the .dlls go to Libs/Win64. You then need to code the config as I posted.
I think the reason for the difference is the publish to click once is trying to reconcile "portable" whereas to folder is more primitive

If you "publish" to a folder, nothing needs to be done as the .dlls are in the same file as the .exe If you "publish" to click once, the .dlls go to Libs/Win64. You then need to code the config as I posted.
I think the reason for the difference is the publish to click once is trying to reconcile "portable" whereas to folder is more primitive

Interesting is that ClickOnce knows to include NuGet pkg "main" dll, so my idea was to somehow include other dlls into NuGet that would behave the same and get picked up by ClickOnce, but maybe they can't.

I remember reading that VS, MSBUILD, .NET and NuGet like to differentiate beween managed dlls and unmanaged (foreign) dlls. So that is a real pain, the unmanaged typically don't get copied, deployed etc. without any special actions. And they get put in different places... you can't really rely on anything as it depends on the type of publish/deploy.

Just make sure you don't select "Produce Single File" on the publish settings - this somehow does not even copy the dlls, not even to the wrong place. They are simply missing.

While debugging it works, but when published it does not work, still can't find dlls and they are present in Libs/Win64. Again maybe because relative path gets screwed up?
C:\Users\hrvoj\AppData\Local\Apps\2.0\GMHH1ZGH.9RW\671MP0HQ.2A5\clan...exe_0000000000000000_0001.0009_hr-hr_9a8e43760506f3df\Libs\Win64

Interesting. That picture, is exactly mine and it worked.
But I was using
                    client.Config.CustomStream = typeof(GnuTlsStream);
                    client.Config.CustomStreamConfig = new GnuConfig()
                    {
                        //SecuritySuite = GnuSuite.Normal,
                        //SecurityOptions = new List<GnuOption> {
                        //		new GnuOption(GnuOperator.Include, GnuCommand.Protocol_All),
                        //		new GnuOption(GnuOperator.Exclude, GnuCommand.Protocol_Tls10),
                        //		new GnuOption(GnuOperator.Exclude, GnuCommand.Protocol_Tls11),
                        //	},
                        //SecurityProfile = GnuProfile.None,
                        //AdvancedOptions = new List<GnuAdvanced> {
                        //		GnuAdvanced.NoExtensions,
                        //	},
                        SetALPNControlConnection = string.Empty,
                        SetALPNDataConnection = string.Empty,
                        //LoadLibraryDllNamePrefix = "D:\\temp\\",
                        LogLevel = 0,
                        LogMessages = GnuMessage.All,
                        LoadLibraryDllNamePrefix = "Libs\\Win64\\",
                    };

See the LoadLibraryDllNamePrefix? Thats why I did set it, because I also checked the click once install directory of my small test app.

But it still does not solve my real problem, publishing to a single executable still does not include the native dlls.

Interesting. That picture, is exactly mine and it worked.
But I was using
                    client.Config.CustomStream = typeof(GnuTlsStream);
                    client.Config.CustomStreamConfig = new GnuConfig()
                    {
                        //SecuritySuite = GnuSuite.Normal,
                        //SecurityOptions = new List<GnuOption> {
                        //		new GnuOption(GnuOperator.Include, GnuCommand.Protocol_All),
                        //		new GnuOption(GnuOperator.Exclude, GnuCommand.Protocol_Tls10),
                        //		new GnuOption(GnuOperator.Exclude, GnuCommand.Protocol_Tls11),
                        //	},
                        //SecurityProfile = GnuProfile.None,
                        //AdvancedOptions = new List<GnuAdvanced> {
                        //		GnuAdvanced.NoExtensions,
                        //	},
                        SetALPNControlConnection = string.Empty,
                        SetALPNDataConnection = string.Empty,
                        //LoadLibraryDllNamePrefix = "D:\\temp\\",
                        LogLevel = 0,
                        LogMessages = GnuMessage.All,
                        LoadLibraryDllNamePrefix = "Libs\\Win64\\",
                    };

See the LoadLibraryDllNamePrefix? Thats why I did set it, because I also checked the click once install directory of my small test app.

ClickOnce screws up, when I remove manifest file from installed folder it works, even when I return the file it still works.

CoreCLR Version: <IP_ADDRESS>103
.NET Version: 8.0.0
Description: The process was terminated due to an unhandled exception.
Exception Info: FluentFTP.GnuTLS.GnuTlsException: GnuTLS .dll load/call validation error
---> FluentFTP.GnuTLS.GnuTlsException: Could not load Libs\Win64\libhogweed-6.dll, (0)
at FluentFTP.GnuTLS.Core.GnuTls.FunctionLoader.Load(String dllPath, Boolean storePointer)
at FluentFTP.GnuTLS.Core.GnuTls.LoadAllFunctions()
at FluentFTP.GnuTLS.Core.GnuTls.GnuTlsCheckVersion(String reqVersion)
at FluentFTP.GnuTLS.GnuTlsInternalStream.Validate(Boolean log)

I believe you... I found out that ClickOnce when using SingleFile will use Libs/Win64/...dlls, even though they are in the apps.publish folder. When ClickOnce is not doing singlefile output, it works differently.
I have been playing around with the build process of FluentFTP.GnuTLS itself, but there is nothing there that is worth changing.
I think the problem is with Click Once. I can't even cause it to copy the dlls using the  <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>. It simply does nothing.

Yea, I gave up and just moved dll links to the root of the project.

Just a quick update: I have found the solution. In the next days I will finalize it and show the way to do it in the issue #1347

@hovek It is fixed, I found a solution. Please read #1347 !


Create SEDML datamodel library

Currently the sedml model is scattered around the codebase. Creating a shared library to hold it would be helpful

Likely cause of #2651.

:tada: This issue has been resolved in version 4.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Revert "[silgen] Ensure that the outer cleanup is emitted along failure paths when initializing sub-tuple patterns"

This reverts commit be922b999038eae35b8aa120e1df7b11892fcf5f.
 I am going to see if I can do another fix for this. That
being said in the short term, we are reverting to unblock those projects.
rdar://83770295

@swift-ci test

@swift-ci build toolchain

@swift-ci Please test Windows

Linux Toolchain (Ubuntu 16.04)
Download Toolchain
Git Sha - 49bc96dc8df3fdc523a99d1348ab3a3ce9bf1ea7
Install command
tar zxf  swift-PR-39545-686-ubuntu16.04.tar.gz
More info

macOS Toolchain
Download Toolchain
Git Sha - 49bc96dc8df3fdc523a99d1348ab3a3ce9bf1ea7
Install command
tar -zxf  swift-PR-39545-1146-osx.tar.gz --directory ~/

Linux Toolchain (Ubuntu 16.04)
Download Toolchain
Git Sha - 49bc96dc8df3fdc523a99d1348ab3a3ce9bf1ea7
Install command
tar zxf  swift-PR-39545-692-ubuntu16.04.tar.gz
More info

macOS Toolchain
Download Toolchain
Git Sha - 49bc96dc8df3fdc523a99d1348ab3a3ce9bf1ea7
Install command
tar -zxf  swift-PR-39545-1151-osx.tar.gz --directory ~/


Comments on lists of lists

It would be good to have metadata in the list-of-lists that we use for bulk data collection.
Right now those lists are .txt files. We could introduce something that treats #-preceded lines as commented out:
https://github.com/datactive/bigbang/issues/287#issuecomment-381249861
The code that parses the list-of-lists is here:
https://github.com/datactive/bigbang/blob/master/bigbang/mailman.py#L126

Solved with #334