Feature: sort-classes ignore methods

What rule do you want to change?
sort-classes
Describe the problem
One of my biggest restrictions is that I think it can be too restrictive to sort classes, as sometimes it makes sense to keep blocks of code that are meaningful to each other closeby. That being said, I do want the option to sort the variablesa at the top. I was hoping that just not adding method blocks would have been enough, but I realise it still sorts everything else in the class by alphabetical order.
Code example

Additional comments
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

I like the idea as well, a temporary fix might be to use
/* eslint-disable perfectionist/sort-classes */ and
/* eslint-enable perfectionist/sort-classes */
Example:
class Class {
  a
  b
  c

  /* eslint-disable perfectionist/sort-classes */
  g() {}
  f() {}
  e() {}
  /* eslint-enable perfectionist/sort-classes */
}

This will not raise errors.
However,
class Class {
  a
  b
  c

  /* eslint-disable perfectionist/sort-classes */
  g() {}
  f() {}
  /* eslint-enable perfectionist/sort-classes */
  e() {}
}

will, so it's not ideal.
Currently, all elements are at least assigned to a group, unknown if none is available in the configuration.
We could either:

Allow the user to specify whether unknown elements should be sorted.
Add an ignoredGroups option.

I like the option to just not sort unknown elements, then I can create custom class groups as required if I want to sort certain classes (e.g. lifecycle methods), and then just YOLO the rest of the file.


Clarify which files are ignored or copied.

Ok, I changed the link to a permalink. This might also become obsolete but I feel it is better to have an old link that still points "in the right direction" than no link.


Geolocation with Geocode API

Geocoding with Geocode API, and a rate limiting AsyncClient to meet Geocode Free Tier rate limits (1/sec).

Yeah, good idea. I'll move it into geocode.py


D3 - Input Embeddings

Understand and figure out how to represent the input embeddings in Keras.

After some issues with the dataloader, input dimensions, and contradictions between the paper and codebase, we've implemented the input dataloader.
See commit


Cannot Upload Files to AWS S3

Describe the bug
Unable to Upload Files to S3 within Android
Works within browser-served app.
Haven't tested in ios yet
To Reproduce
Steps to reproduce the behavior:

Make a Post Request to save a file to an s3 bucket
Provide proper body as FormData with file as last attribute

const url = `https://s3.amazonaws.com/${bucket}`;
const formData = new FormData();
formData.append('bucket', bucket);
formData.append('key', uploadFileName);
formData.append('acl', 'private');
formData.append('Content-Type', file.type);
formData.append('x-amz-server-side-encryption', 'AES256');

formData.append('AWSAccessKeyId', accessKey);
formData.append('Policy', policy);
formData.append('Signature', signature);

formData.append('file', file, uploadFileName);

Set 'Content-Type' header to 'multipart/upload'

Necessary for mobile to calculate boundary, breaks the browser because browser automatically knows it's multipart/upload based on FormData Object and then calculates Boundary
https://github.com/capacitor-community/http/blob/e675049b9b277bc4f4f0e6d446d107ebd183f447/android/src/main/java/com/getcapacitor/plugin/http/CapacitorHttpUrlConnection.java#L201

Expected behavior
File to be uploaded
Actual Behavior
[Success] Request from Browser/Served App
Browser/Served app's Network call:
Request Headers:
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 2614966
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBEHBJUvtT1jVkVDw
Host: s3.amazonaws.com
Origin: https://foo.bar:4200
Pragma: no-cache
Referer: https://foo.bar:4200/
sec-ch-ua: "Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36

Form Data
bucket: foo.bar.bucketname
key: 281_bdphbdokjx_1634163745230_dan-gold-N7RiDzfF2iw-unsplash.jpg
acl: private
Content-Type: image/jpeg
x-amz-server-side-encryption: AES256
AWSAccessKeyId: foobar
Policy: foobar
Signature: foobar
file: (binary)

[FAIL] Request from Android
400 Error from Aws s3: POST requires exactly one file upload per request.
Android app's Network call:
Request (from console log in inspector with remote debugging)
{
    "callbackId": "45448498",
    "pluginId": "Http",
    "methodName": "request",
    "options": {
        "method": "POST",
        "url": "https://s3.amazonaws.com/foo.bar.bucketname",
        "data": {},
        "headers": {
            "Content-Type": "multipart/form-data",
            "Accept": "application/json, text/plain, */*"
        },
        "params": {},
        "responseType": "text"
    }
}

Request Headers from Android Network Profiler
Note: the Content-Type header gets swapped out in the Android .java code to include the boundary

Response (from console log in inspector with remote debugging)
{
    "status": 400,
    "headers": {
        "Connection": "close",
        "Content-Type": "application/xml",
        "Date": "Wed, 13 Oct 2021 22:52:33 GMT",
        "Server": "AmazonS3",
        "Transfer-Encoding": "chunked",
        "x-amz-id-2": "foobar",
        "x-amz-request-id": "foobar",
        "X-Android-Received-Millis": "1634165554165",
        "X-Android-Response-Source": "NETWORK 400",
        "X-Android-Selected-Protocol": "http/1.1",
        "X-Android-Sent-Millis": "1634165554131"
    },
    "url": "https://s3.amazonaws.com/foo.bar.bucketname",
    "data": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error>InvalidArgument<Message>POST requires exactly one file upload per request.</Message><ArgumentName>file</ArgumentName><ArgumentValue>0</ArgumentValue><RequestId>foobar</RequestId><HostId>foobar</HostId></Error>",
    "error": true
}

Response From Android Network Profiler

Device Details
Desktop (please complete the following information):

OS: Windows
Browser: Chrome
Version: 94

Smartphone (please complete the following information):

Device: Google Pixel 4
OS: Android 11
Browser: Chrome
Version: 83

Additional Context/Debugging

Research for 400 Error:

https://stackoverflow.com/questions/37746434/amazon-s3-create-object-error-post-requires-exactly-one-file-upload-per-request
https://stackoverflow.com/questions/6030371/http-post-with-httpwebrequest

Boundary Generation Seems Correct Here:

https://github.com/capacitor-community/http/blob/e675049b9b277bc4f4f0e6d446d107ebd183f447/android/src/main/java/com/getcapacitor/plugin/http/FormUploader.java
Boundary has 2 less - chars in the header than on every separation line, and last line of data has 2 - before and after the boundary

Differences between requests headers in browser and http plugin:

Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 2614966

Content-Length may be the issue?
Could set Content-Length with Java HttpUrlConnection via setChunkedTransferMode

https://stackoverflow.com/questions/7062349/java-httpurlconnection-and-setting-the-content-length

Tried setting file's Content-Length as another param in the FormData

Per S3 Rest Api Docs here: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax

Host: s3.amazonaws.com
Origin: https://foo.bar:4200
Pragma: no-cache
Referer: https://foo.bar:4200/

Fiddler

Wanted to see if the request body had the boundary properly set in the body, but didn't see body in the chrome inspector or Android Profiler
Tried to intercept/read the requests that are being fired from the mobile app because Fiddler can decrypt https requests
Had issues and wasn't able to decrypt https requests from the app using this plugin, however was able to decrypt https requests made from the Chrome Browser on the device. (leading me to believe my configuration was correct)

Is there a way to debug Native Java Code that is called by the plugin? I couldn't find any information online about how to debug native code that is called by a Capacitor Plugin?

Used Pipedream service to see exactly what was being sent to S3:
NOTE: I'm using the plugin's Http.request(); method instead of the plugin's Http.uploadFile(); method, which I now know is causing me the trouble.
Pipedream Event Log
{
    "method": "POST",
    "path": "/",
    "query": {},
    "headers": {
      "x-forwarded-for": "",
      "x-forwarded-proto": "https",
      "x-forwarded-port": "443",
      "host": "foo.m.pipedream.net",
      "x-amzn-trace-id": "Root=1-foobar",
      "content-length": "44",
      "accept-charset": "UTF-8",
      "accept": "application/json, text/plain, */*",
      "content-type": "multipart/form-data; boundary=1c6e6765-c95a-46ac-9cf7-8e25e7a693a3",
      "user-agent": "Dalvik/2.1.0 (Linux; U; Android 11; sdk_gphone_x86 Build/RSR1.201013.001)",
      "accept-encoding": "gzip"
    },
    "bodyRaw": "{}",
    "body": {}
  }

NO BODY!!!!
This is due to body being instance of FormData, so the Json object that is created from it looks empty.
Had to make a Json Object from From data
let data;
if (req.body instanceof FormData) {
  data = {};
  req.body.forEach(((value, key) => data[key] = value));
}

Made the request again.
Pipedream Event Log
{
    "method": "POST",
    "path": "/",
    "query": {},
    "headers": {
      "x-forwarded-for": "",
      "x-forwarded-proto": "https",
      "x-forwarded-port": "443",
      "host": "foo.m.pipedream.net",
      "x-amzn-trace-id": "Root=1-foobar",
      "content-length": "2283",
      "accept-charset": "UTF-8",
      "accept": "application/json, text/plain, */*",
      "content-type": "multipart/form-data; boundary=b33b037f-2653-47ae-844f-b89dfcd78881",
      "user-agent": "Dalvik/2.1.0 (Linux; U; Android 11; sdk_gphone_x86 Build/RSR1.201013.001)",
      "accept-encoding": "gzip"
    },
    "bodyRaw": "{\"bucket\":\"foo.bar.bucketname\"}",
    "body": {
      "bucket": "foo.bar.bucketname"
    }
  }

Not all the values of my form field...
My js object made from my FormData has the following keys: bucket, key, acl, Content-Type, Content-Length, x-amz-server-side-encryption, AWSAccessKeyId, Policy, Signature, file
-- This is due to an error in addFormField method within FormUploader.java
- adding end of request boundary to body after first/every field added to the request. (`--${boundaryUid}--`)
- Switched the fn to use the same logic as appendFieldToWriter and I get the following:
Pipedream Event Log
{
    "method": "POST",
    "path": "/",
    "query": {},
    "headers": {
      "x-forwarded-for": "",
      "x-forwarded-proto": "https",
      "x-forwarded-port": "443",
      "host": "foo.m.pipedream.net",
      "x-amzn-trace-id": "Root=1-foobar",
      "content-length": "1842",
      "accept-charset": "UTF-8",
      "accept": "application/json, text/plain, */*",
      "content-type": "multipart/form-data; boundary=a5845c3d-1a11-4958-9c37-42b8660a9143",
      "user-agent": "Dalvik/2.1.0 (Linux; U; Android 11; sdk_gphone_x86 Build/RSR1.201013.001)",
      "accept-encoding": "gzip"
    },
    "bodyRaw": "{\"bucket\":\"foo.bar.bucketname\",\"key\":\"133_la8ppwn9ur_1634246196078_tabea-schimpf-O7WzqmeYoqc-unsplash.jpg\",\"acl\":\"private\",\"Content-Type\":\"image/jpeg\",\"Content-Length\":\"3423018\",\"x-amz-server-side-encryption\":\"AES256\",\"AWSAccessKeyId\":\"foobar\",\"Policy\":\"foobar\",\"Signature\":\"foobar\",\"file\":\"{}\"}",
    "body": {
      "bucket": "foo.bar.bucketname",
      "key": "133_la8ppwn9ur_1634246196078_tabea-schimpf-O7WzqmeYoqc-unsplash.jpg",
      "acl": "private",
      "Content-Type": "image/jpeg",
      "Content-Length": "3423018",
      "x-amz-server-side-encryption": "AES256",
      "AWSAccessKeyId": "foobar",
      "Policy": "foobar",
      "Signature": "foobar",
      "file": "{}"
    }
  }

My Js File Object is Empty!!!
This is because when the HttpRequestHandler calls JSValue data = new JSValue(call, "data"); the JSValue does not know how to convert the data object's file property into a "JSValue"/"JSObject".
It is for this reason that I believe that the plugin's Http.uploadFile(); method exits, as it will take the path to the file and then read the file's contents to the request body within the native code, so no Js File Object conversion needs to happen.

@thomasvidas  this is not fixed by Pr #178
This issue has to do with how capacitor does not translate non primitive values (like an instance of Blob) from javascript to the native code.
I do agree that this can be closed, because there is an upload file function, however the core reason as to why I created this issue/defect is not fixed by Url formatting.

Whoops! My mistake @brian-weasner, a lot of the upload file issues were caused by URL formatting so I must've accidentally lumped this one in by mistake 😄


[SR-6731] PropertyListDecoder unable to decode __NSCFType

Previous ID
SR-6731

Radar
None

Original Reporter
@krzyzanowskim

Type
Bug

Additional Detail from JIRA

Votes
0

Component/s
Foundation

Labels
Bug

Assignee
None

Priority
Medium

md5: 243c24973c4c93e917da850b1907c06d

Issue Description:
The plist file can store NSObject aka AnyObject aka Any aka CFTypeRef aka NSCFType and SwiftFoundation NSKeyedArchiver can read those.
The PropertyListSerialization is able to handle that too. YET, there is no way to decode this value using Decodable and PropertyListDecoder.
error is: eg. "Expected to decode Data but found __NSCFType instead."
I wonder if is it possible to (any)

bitcast those to Any

treat as raw bytes (return Data)

anything is better than throw error.

This happens by the CFKeyedArchiverUID which represent the reference inside object graph.
minimum code is like below
    let somethingCloseToUid = ["CF$UID": 1]
    let encoder = PropertyListEncoder()
    /// Decoding error is thrown when outputformat is xml
    encoder.outputFormat = .xml
    let uidData = try encoder.encode(somethingCloseToUid)
    ///Expected to decode Dictionary<String, Any> but found __NSCFType instead.
    let dictionary = try PropertyListDecoder().decode([String:Int].self, from: uidData)

CFKeyedArchiverUID is created by NSCoder and can be find by below
class DummyBase: NSObject, NSSecureCoding {

    class var supportsSecureCoding: Bool { true }

    func encode(with coder: NSCoder) {

    }
    override init() {
        super.init()
    }

    required init?(coder: NSCoder) {
        super.init()
    }
}

func createdByNSCoding() throws {
    let nscodingData = try NSKeyedArchiver.archivedData(withRootObject: DummyBase(), requiringSecureCoding: true)
    let plist = try PropertyListSerialization.propertyList(from: nscodingData, format: nil)
    print(plist)
    if let dictionary = plist as? [String:Any], let top = dictionary["$top"] as? NSDictionary, let root = top["root"] as? AnyObject {

        let typeID = CFGetTypeID(root)
        /// CFKeyedArchiverUID  __NSCFType
        print(CFCopyTypeIDDescription(typeID) as String, type(of: root))
        let data = try PropertyListSerialization.data(fromPropertyList: root, format: .xml, options: 0)
        /*
         <?xml version="1.0" encoding="UTF-8"?>
         <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
         <plist version="1.0">
         <dict>
             <key>CF$UID</key>
             <integer>1</integer>
         </dict>
         </plist>
         */
        let xmlString = String(decoding: data, as: UTF8.self)

    }
}


Consolidate logic for http requests

This is a WIP. So far I've consolidated the logic for making requests in the private function request/4 and dropped get_auth/3 for a more flexible version of get/3. These changes now also make it possible to set the recvWindow parameter yourself which was being clobbered in the previous version.
If you like where this is going as a next step I'd like to have non-signed versions of the http methods.

I went ahead and added some options to the http functions which can control whether or not a request is signed. By default all requests are signed. Now the problem I was having before:
iex(2)>  ExBinance.Rest.HTTPClient.post "/api/v3/userDataStream", %{}, credentials
{:error,
 {:binance_error,
  %{
    "code" => -1101,
    "msg" => "Too many parameters; expected '0' and received '3'."
  }}}

Can be remedied by doing:
iex(3)> ExBinance.Rest.HTTPClient.post "/api/v3/userDataStream", %{}, credentials, signed: false
{:ok,
 %{
   "listenKey" => "<listenKey removed>"
 }}

This PR of course changes the public API due to the removal of get_auth/3. The other functions have remained backwards compatible and I've added put/4. In any case it'll require that you exit the patch-level versioning this lib has had up until now. 😉

Sweet, thanks for the quick PR!
I'll have to test it out and upgrade tai to get a better handle on the breaking changes. Doesn't look like it's too bad.


Added software encryption and cleaned up TOML files

This adds some AEAD encryption algorithms to ursa. This is related to Ursa-RFC 6.

Why do we need AEC-CBC HMAC when we are supporting AES-GCM since GCM is faster and can use native instructions as well? Are we trying to address some of GCM's issues as described here? If yes, then which ones?

Why do we need AEC-CBC HMAC when we are supporting AES-GCM since GCM is faster and can use native instructions as well? Are we trying to address some of GCM's issues as described here? If yes, then which ones?

First reason FIPS. Certain levels of FIPS only allow AES-CBC. Second, (Fernet)[https://github.com/fernet/spec/blob/master/Spec.md] is a popular way to create tokens. I'm not trying to avoid the issues you put in the link. AES-CBC can use native instructions too. They both can use the AES-NI.

@hartm @brentzundel could you please review so we can merge this?


Make LinkParser extensible.

With #1022  we now have a better default parser and user is able to provide their own parser.
But the LWM2M spec defines some specific grammar for its Attributes. This looks like some kind of link-extension.
So it seems that DefaultLinkParser/LinkParser should be extensible to allow to parse this kind of LinkExtention.
Ideally, Link class and Parser should not know about Attribute concept which is a pure LWM2M concept but I guess this is OK if AttributeModel contains a kind of LinkExtensionParser.
Implementing this will probably come with solving some raised issues like :

drop  the "splitting first" parsing. (more details here and here)
better responsability handling about quoted sting/ excaping char / uri normalization (more details)

(Bonus question: Not clear to me but Link Parsing is also related to #1042 which I didn't think too much for now)

@sbernard31 - what do you think about managing validation errors in #1127 solution? Instead of chain of try/catch I added isValid() and getValidationErrorMessage() methods. So we can check if content is valid before parsing or we can throw LinkParseException exception if we call parse() method on invalid content (which internally call isValid()/getValidationErrorMessage() on sub-parser and optionally throw exception).
In my solution I replaced try/catch chain with isValid() / getValidationErrorMessage() chain. It reduces exceptions but adds more checks while validation. If you agree with this I can import this idea to next-approach solution.

I don't know so much.  :thinking:
Pros :

a)  Maybe one good point is that avoid the LinkParseException chain. (but we are not sure this is a real problem)

Cons :

b)  Maybe, a not so good point is that we need to valid first, then we parse. It looks like we get often 2 part of code which seems very similar but not exactly the same.
c) We also execute pretty much the same code twice (I don't know if this is a real issue too)

I guess about a) and c) are hypothetical as long as we don't check if there is a real performance issue. (which is not so easy to check)
about b) I don't know if you have the same feeling than me ?
I'm aware that I didn't help you so much :confused:
I will try to finish what I'm working on and I will try to go more deeper on this problem to give you more helpful support.

@Michal-Wadowski,
I take time this afternoon to think a more about this.
The more I looked at it and the more I have doubt about the extension approach.
There is several kind of validation (like assignation level or applicability) which will be hard to check at Link Parsing time and so we will need a kind of post validation.
With this in mind, I currently think that maybe we should we should keep the Link Parser simple.
Maybe eventually just fix those issue :
Implementing this will probably come with solving some raised issues like :

drop  the "splitting first" parsing. (more details here and here)
better responsability handling about quoted sting/ excaping char / uri normalization (more details)

To resolve the question about Link world vs LWM2M attribute world.
Maybe the good approach is to add a new a new class (or set of classes) for those LWM2M flavored Links .
A minimalist model (just to get the idea) could looks like this :
public class LwM2mLinks {
    Map<LwM2mPath, AttributeSet>
}

And so maybe something like :
               ┌──────────────┐                ┌───────────────────┐
   ┌──────────►│LinkParser    ├──────┐  ┌─────►│LwM2mLinkParser    ├────────┐
   │           └──────────────┘      ▼  │      └───────────────────┘        ▼
String                               Links                              LwM2mLinks
   ▲           ┌──────────────┐      │  ▲      ┌───────────────────┐        │
   └───────────┤LinkSerializer│◄─────┘  └──────┤LwM2mLinkSerializer│◄───────┘
               └──────────────┘                └───────────────────┘

I will try to investigate this more tomorrow.
Any opinions about this ?

drop  the "splitting first" parsing. (more details here and here)

better responsability handling about quoted sting/ excaping char / uri normalization (more details)

According the splitIgnoringEscaped method - the solution is written in PR #1127 and there is explanation what there happen:
If we have for example </foo>;param=",",</bar> content to parse, LinkParser have to split content by , character somehow. So at first try, at first , character LinkParser gets </foo>;param=". This part is validated by subparser and if it's not valid, LinkParser continues its job. At the next , character LinkParser gets </foo>;param="," and it's validated by subparser. Now this part is valid, so LinkParser can create Link and continues its job.
The responsibility for validating link-value is moved from LinkParser to LinkValueParser, so LinkParser doesn't know anything about link-value format. The same thing is for LinkValueparser - it delegates validation of URI-Reference and link-extension to next sub-parsers.

According the LwM2mLinkParser and LwM2mLinks classes - the solution sounds good for me in general. But I have only one problem with understanding where it should be used. In bigger picture, where this solution will be used in our applicaiton? I don't see benefits of creating LwM2mLinkParser and LwM2mLinks yet.

I created PR #1141 (draft) to show how I see your idea :smile:

Sorry for the mess with PR #1141 - I don't know how to change PR to Draft after creating one.

No problem.
For the next time :

I don't see benefits of creating LwM2mLinkParser and LwM2mLinks yet.

This is the right question.
I'm thinking a lot about this yesterday too and the benefits are not so clear to me too. :exploding_head:

I will try to sum up my understanding.
CoreLink are used to store some information about object/object instance/resource/ resource instance.

Operation
kind of informations

Registration
supported objects (and version used), available instances, lwm2m rootpath, content format supported

Discover
available instances, supported resources, available resource instances, attributes about observation (see write-attribute), resource dimension

Bootstrap discover
the lwm2m version, the server id, server uri, supported objects (and version used), available instances, the Security Id of boostrap server

As Datatype
see #1042

In a pure LWM2M world we handle LWM2M path with some attributes defined in the LWM2M specification.
For Bootstrap Discover, Discover and Datatype, I understand that Link used are only pure LWM2M Link.
For Registration, I'm not 100% sure but I understand that Links could contains some pure CoAP (not LWM2M) part.
See http://www.openmobilealliance.org/release/LightweightM2M/V1_1_1-20190617-A/HTML-Version/OMA-TS-LightweightM2M_Transport-V1_1_1-20190617-A.html#6-4-1-0-641-Alternate-Path.
So a pure LWM2M API will just need LWM2M path and attributes attached.
But if you also want to expose to users all the information, you also need to expose "simple Links". This is annoying part because this is not so easy to defined a model which expose both at same time. (I look at MQTT registration and I'm not so sure but I understand that Link should be 100% pure LWM2M flavored)
Currently we just expose "simple Links" which hold all the information.
The drawbacks :

We validate link at  RFC 6690 level (thx to you) but we don't validate it at LWM2M level (assignation level, specific core link grammar, applicability)
Maybe  the API is less convenient to use than a more LWM2M flavored one but for now Link are not so used anyway...

Some example where we manipulate Links :

https://github.com/eclipse/leshan/blob/3caf38f1cd509d2ce4aa54fda682143bd70d8325/leshan-server-core/src/main/java/org/eclipse/leshan/server/registration/Registration.java#L616
https://github.com/eclipse/leshan/blob/3caf38f1cd509d2ce4aa54fda682143bd70d8325/leshan-server-core/src/main/java/org/eclipse/leshan/server/bootstrap/BootstrapConfigStoreTaskProvider.java#L104
https://github.com/eclipse/leshan/blob/3caf38f1cd509d2ce4aa54fda682143bd70d8325/leshan-client-core/src/main/java/org/eclipse/leshan/client/util/LinkFormatHelper.java#L43

So,

Do we want to add more input/output LWM2M Links flavored validation  ?
Do we want a more LWM2M flavored API for Link ? If yes, how it should looks like ?

About LWM2M flavored API for Link, I try some idea :

First one, I created  a kind of new API not "totally" linked to the current Link one. But both API sounds too similar and so I tried something else.
Second one, the idea is more about merging Link an Attribute API, then extend it to a more LWM2M flavored one.

I create 2 branch with some crappy code about this :

link_idea_1 where most interesting parts are in leshan-core/org.eclipse.leshan.core.link.lwm2m package

link_idea_2 where most interesting parts are in leshan-core/org.eclipse.leshan.core.link and  leshan-core/org.eclipse.leshan.core.attributes (maybe this last package should me move)

About the second idea :

Link is a kind of generic model for Link from rfc6690
LwM2mLink are pure LWM2M flavored Link which could be used for Discover / Bootstrap Discover / DataType
MixedLwM2mLink are LWM2M flavored Link which can contains some "not" LWM2M content.

@Michal-Wadowski you could look at this if you want and If all of those is not too confusing to not hesitate to share your opinion about this.

@sbernard31 sorry to take it so long, I'll look at your propositions

Ok, now with your proposition (especially link_idea_2) all is much clearer to me. Previously I was focused on parsing methodology rather than understanding the whole idea. Now I can see what the current topic is about :slightly_smiling_face:
I like the second solution. It probably needs separated PR to continue the discussion about it. And we also have to wait with current issue after your proposition is finished. I could help develop it, but I don't want to disturb you :slightly_smiling_face:

I'm currently working on #1112. Then I will try to go back to that subject.

I could help develop it, but I don't want to disturb you slightly_smiling_face

You're welcome.  We both agree that idea 2 seems better, so for now we can drop the first one.
I don't know exactly what should be next step :

either we are confident with current design idea and we start to work on it in a proper way.
or we still go further keeping the "draft/crappy" way just to be sure there is no issue we missed.

If you have any concern about current idea2 designe please do not hesitate to share.
One of my concern is probably the Registration serialization for Redis. I don't how much this will be painful to serialize a MixedLwM2mLink. :thinking:

@Michal-Wadowski  any thought/opinion about that ?
(I'm currently working on a UI for Composite Operation but I think we should also try to move forward on this subject too)

@Michal-Wadowski any thought/opinion about that ? (I'm currently working on a UI for Composite Operation but I think we should also try to move forward on this subject too)

Currently I'm studying oscore branch because this functionality is our priority for now.

Ok, pushing some efforts on OSCORE sounds a good plan too :)

Thx a lot @Michal-Wadowski  for you help :pray:


option to output video segments

hi Falk - would it be possible to add an option to output a video segment (instead of stills)
Ideally you could keep the option to create stills as well
thanks

Yes, that is possible. How long should the segments be?
Falk
Falk Schuetzenmeister | Geospatial Software Engineer
The Nature Conservancy
t.<PHONE_NUMBER>
s. 201 Mission St., Floor 4, San Francisco, CA 94105
e. falk.schuetzenmeister<EMAIL_ADDRESS>| w. nature.org/california
[cid:54cb3985-14d4-44d2-ad99-d54b8a34b1a5]

From: Matt Merrifield<EMAIL_ADDRESS>Sent: Monday, January 6, 2020 10:32 AM
To: tnc-ca-geo/extract<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [tnc-ca-geo/extract] option to output video segments (#5)
hi Falk - would it be possible to add an option to output a video segment (instead of stills)
Ideally you could keep the option to create stills as well
thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/tnc-ca-geo/extract/issues/5?email_source=notifications&email_token=AAWHRZ2TEGFHVWYV5FKI53LQ4N2NJA5CNFSM4KDIDAG2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IEJLLTQ, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAWHRZZOHNR5WF5MCJFC3YDQ4N2NJANCNFSM4KDIDAGQ.

Done by 000b68d
Please use the -m option. I changed the script in a way that it stays backward compatible.


Discussion/question about COBOL debuggers

As #273 is solved I originally wanted to move that to discussions but it seems that feature has gone.
Because of the message for debuggers for another COBOL vendor: Do you have some knowledge about the availability of a COBOL debugger extension for VisualCOBOL and/or COBOL-IT? That would be good news.
Just a note: the debugging check currently has no check for COBOL, therefore the extension currently creates a bunch of warnings for Python, C, ... noting this is a debugging extension for another COBOL vendor.

The extension checks for breakpoint support for the COBOL language, so I
expect it to pickup other extensions that may not advertise COBOL support
but do have it, for example the webfreak gdb debugger.
On Fri, 18 Jun 2021, 07:14 Simon Sobisch, @.***> wrote:

As #273 https://github.com/spgennard/vscode_cobol/issues/273 is solved
I originally wanted to move that to discussions but it seems that feature
has gone.
Because of the message for debuggers for another COBOL vendor: Do you have
some knowledge about the availability of a COBOL debugger extension for
VisualCOBOL and/or COBOL-IT? That would be good news.
Just a note: the debugging check currently has no check for COBOL,
therefore the extension currently creates a bunch of warnings for Python,
C, ... noting this is a debugging extension for another COBOL vendor.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/spgennard/vscode_cobol/issues/288, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNWWGAMR2ENMMOYY7ISPQTTTLP4RANCNFSM465APSCQ
.

That's interesting and then makes sense, thank you. In this case only that extension will be noted and the others skipped - a reasonable approach..
As I had to debug in called "C" routines from a MF only workspace yesterday and GDB is the reasonable debugger for that - is there an option to disable the debug extension check in general? (The bitlang.gnucobol extension is deactivated in the workspace, so the "skip" that works for a GnuCOBOL related workspace won't be triggered here?)

I use a different instance of vscode and give it a seperate ext/config area eg:
code  --user-data-dir ~/.gdbcode --extensions-dir ~/.gdbcode_exts

and then setup an 'alias' eg:
alias gdb_code="code  --user-data-dir ~/.gdbcode --extensions-dir ~/.gdbcode_exts"

then just use gdb_code..


flake8 5.0.1 issue

flake8 releases 5.0.1 today, and it raises the following issue:
ModuleNotFoundError: No module named 'flake8.plugins.manager'

see: https://github.com/Project-MONAI/model-zoo/runs/7603793727?check_suite_focus=true#step:7:83
I think we may need to fix the version to 4.0.1 so far, and adjust it later.

Hi @wyli , the issue also happens in MONAI repo (https://github.com/Project-MONAI/MONAI/runs/7604721904?check_suite_focus=true#step:7:188), what do you think?

thanks for reporting, I'm going to remove 'flake8-pyi', as we don't write any stub files at the moment.

Thanks @wyli , I removed it and the issue is fixed.


[CLOSED] Publishing script republishes CMA cases correctly.

 Issue by kalleth
Tuesday 01 July 2014 at 10:09 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/151

To prepare for republishing multiple types of document (other than just
specialist documents) we needed to fix the republishing script to both
operate without errors and to correctly notify the right set of
observers.
The eventual aim is to provide a two-level array of repositories and
the listeners that should be notified which will then perform
republishing for all types of documents.

kalleth included the following code: https://github.com/alphagov/specialist-publisher/pull/151/commits

 Comment by bestie
Tuesday 01 July 2014 at 10:57 GMT

This is all good and I love that you've got rid of SpecialistDocument#published_version but there is a bit more code in the model and tests to delete to remove it cleanly.

 Comment by bestie
Tuesday 01 July 2014 at 13:02 GMT

@evilstreak fixed now, must have committed a typo after I ran the tests.

 Comment by kalleth
Tuesday 01 July 2014 at 16:43 GMT

@evilstreak I've actioned your previous comments (which have disappeared as they were on the revision).
It'll now raise if there's more than one published edition -- with yesterdays preview dataset this doesn't result in any more documents failing to republish, but it's nice to have there as a guard for the data in future.
I've also swapped title for slug and swapped to using the bare document for logging purposes so we can bomb earlier and still have the information accessible to the logging method.


More decoders for popular compression algorithms

I came across these 3 already.

bzip2
tar.gz
zlib (http://treasuredata.uservoice.com/forums/313566-general/suggestions/9948396-support-import-files-compressed-with-zlib)

@kzk do you mean that it is useful if embulk itself supports those formats as built-in standard plugins?

@kzk FYI
As you might know,
embulk-decoder-commons-compress supports many formats. (at least bzip2, tar.gz, xz ...)
embulk-decoder-commons-compress
Please check this test.
https://gist.github.com/hiroyuki-sato/e0466dc61aacfd241bb9
Note.
But I found the folloiwng warning.
2015-09-29 12:58:55.392 +0900 [WARN] (task-0001): Skipped line 6 (Too few columns): ./csv/sample_02.csv000644<PHONE_NUMBER>00<PHONE_NUMBER>5<PHONE_NUMBER>1 014560 0ustar00hsatowheel000000 000000 id,account,time,purchase,comment
2015-09-29 12:58:55.392 +0900 [WARN] (task-0000): Skipped line 6 (Too few columns): ./csv/sample_02.csv000644<PHONE_NUMBER>00<PHONE_NUMBER>5<PHONE_NUMBER>1 014560 0ustar00hsatowheel000000 000000 id,account,time,purchase,comment
2015-09-29 12:58:55.402 +0900 [WARN] (task-0002): Skipped line 6 (java.lang.NumberFormatException: For input string: "id"): id,account,time,purchase,comment
2015-09-29 12:58:55.406 +0900 [WARN] (task-0000): Skipped line 11 (Too few columns):

line 6 is EOF.
The sample is embulk example data.
id,account,time,purchase,comment
1,32864,2015-01-27 19:23:49,20150127,embulk
2,14824,2015-01-27 19:01:23,20150127,embulk jruby
3,27559,2015-01-28 02:20:02,20150128,"Embulk ""csv"" parser plugin"
4,11270,2015-01-29 11:54:36,20150129,NULL


README sure suggests that something called "itmdump" lives here...

I'm trying to figure out how to add a feature to itmdump, which would imply knowing where the source is. Directions and the readme suggest that it is here -- but I see a commit (0d7db9155f376a5d78b12acdc58ab6d96adb7d4c) from Jan 2019 (!) removing it without comment? And yet appveyor.yml still references it?
Anyhoo, I'm confused -- perhaps the README should be updated?

hey yeah this, looks like the readme could use an update! the pr (#24) removing itmdump notes the updated location as japaric/itm-tools, presumably prior to our adoption of the itm crate.
you should be able to PR changes there, and an update to the readme here would probably be a good idea too.
@japaric are you happy to keep looking after itm-tools or is it a candidate for transfer to the wg?


Method destroy clear values

Was using .flexdatalist('destroy'), however after destroy, the value set previously in the field is cleared.
Is there any way to prevent this...

Same problem


Release 1.2.2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.506%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2108

Relevant Lines:
2948

💛  - Coveralls


Replace supports_launch_cockpit with supports_cockpit

closes #1164

@jntullo this look 👍 to you?

Looks good to me, but I'll wait for @jntullo to give a 👍

BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1501246


Greenkeeper changes

Updated dependency versions for:

prettier
lint-staged
flow-bin
react-styleguidist

This will close a few greenkeeper PRs as it replaces them.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


x/pkgsite: Missing links in burger menu

What is the URL of the page with the issue?
https://pkg.go.dev/
(same issues for all packages pages, e.g. https://pkg.go.dev/io , https://pkg.go.dev/search?q=io.writer , etc.)
Screenshot

What did you do?
I adjusted my browser window to a smaller viewport width, which has the effect of hiding the topbar links, and replace them with a burger menu that opens a vertical list of links.
I clicked the burger menu icon.
What did you expect to see?
The 6 exact same links as in the full-width topbar:

and as the main page go.dev's burger menu:

What did you see instead?
Only 4 links instead of 6.
These 2 links are missing:

Docs
Play

Thank you!


Why uppercase HTTP headers?

What is the reason aiohttp converts HTTP headers to uppercase? It is ok according to RFC, but virtually every other client and server uses capitalized headers.
I am mimicking regular browsers so I want to stay as close to their behaviour as possible.

It was easy to implement.
Upper-cased names are here from very beginning and 100% compatible with the standard.
Also using upper-case is faster thanks to str.upper(). For CamelCase new function is needed.

Ok!

It was easy to implement.
How?
upstr() encapsulated into https://github.com/KeepSafe/aiohttp/blob/master/aiohttp/protocol.py#L611 and change behavior is too hard (too many overrides).

I mean we've decided to use upper case at very beginning. Period.
HTTP2 prescribes lower-cased header names BTW.


Upgrade to Vue 2.0

Vue 2.0 Changes

ready deprecated, use mounted
v-el deprecated, merged with $refs
$dispatch and event deprecated [link]

Maybe need new branch to support Vue 2.0

Thanks for this I am still getting up to speed with Vue 2
Before I merge these changes I will need to figure out how to maintain separate versions for Vue 1 and 2.


Eagerly show tab or Preview Editor when using "Quick open"

When using Quick Open or editor stack ctrl+tab, the tab should be eagerly be selected so a visual context of the content can be seen below the quick open view pane.
While navigation the view with your arrow keys, if selected editor tabs were open, they would be switched to, hitting escape would return to the tap you initiated the action on, hitting return would in effect keep you on the tab that was being eagerly shown (through open tabs or the Preview Editor).
This is very helpful to find the file you're planning to open.  It's heavily used feature of mine from ST3.

VSCode Version: 1.5 insider
OS Version: macOS

refs: https://github.com/atom/fuzzy-finder/issues/5

Thanks for reporting this issue. Please use the issue search next time to see if there is a duplicate already. In this case, the issue has already been reported.

Certainly, I did some searching, but must have used the wrong terminology.  Shall I remove this one, or cross reference another issue?

https://github.com/Microsoft/vscode/issues/8939


Unification of error messages and [SB-545] Is possible to save item without a name

test this please


FREME NER crashed?

This API call
curl -X POST --header "Content-Type: text/n3" --header "Accept: text/n3" "http://api-dev.freme-project.eu/current/e-entity/freme-ner/documents?input=Welcome to Berlin&informat=text&outformat=turtle&language=en&dataset=dbpedia&mode=all"
produces this result:
{
  "exception": "eu.freme.broker.exception.ExternalServiceFailedException",
  "path": "/e-entity/freme-ner/documents",
  "error": "Bad Gateway",
  "status": 502,
  "timestamp":<PHONE_NUMBER>089
}

The log says
ERROR   2016-02-01 14:32:33,157 [http-nio-8084-exec-22] eu.freme.broker.tools.ExceptionHandlerService  - Request: http://rv1443.1blu.de:8084/e-entity/freme-ner/documents raised
eu.freme.broker.exception.ExternalServiceFailedException
        at eu.freme.broker.eservices.FremeNER.execute(FremeNER.java:237)
        at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)

Maybe the FREME NER service has crashed?

Fixed. I think @m1ci restarted FREME NER.

Hey guys, service seems to be down again.

Nevermind, I guess I reached my limit for today.

Hey. No you did not reach your limit. We disabled rate limiting on both freme-dev and freme-live

Yes, apparently we had some network issues yesterday. Sorry for the false alarm. :)


Build failure: floorp

Steps To Reproduce
Steps to reproduce the behavior:

build floorp / floorp-unwrapped

Build log
spidermonkey> Traceback (most recent call last):
spidermonkey>   File "/build/firefox-102.15.1/obj/../js/src/../../configure.py", line 25, in <module>
spidermonkey>     from mach.site import (
spidermonkey>   File "/build/firefox-102.15.1/python/mach/mach/site.py", line 26, in <module>
spidermonkey>     from mach.requirements import (
spidermonkey>   File "/build/firefox-102.15.1/python/mach/mach/requirements.py", line 7, in <module>
spidermonkey>     from packaging.requirements import Requirement
spidermonkey>   File "/build/firefox-102.15.1/third_party/python/packaging/packaging/requirements.py", line 24, in <module>
spidermonkey>     from .markers import MARKER_EXPR, Marker
spidermonkey>   File "/build/firefox-102.15.1/third_party/python/packaging/packaging/markers.py", line 25, in <module>
spidermonkey>     from .specifiers import InvalidSpecifier, Specifier
spidermonkey>   File "/build/firefox-102.15.1/third_party/python/packaging/packaging/specifiers.py", line 14, in <module>
spidermonkey>     from .utils import canonicalize_version
spidermonkey>   File "/build/firefox-102.15.1/third_party/python/packaging/packaging/utils.py", line 9, in <module>
spidermonkey>     from .tags import Tag, parse_tag
spidermonkey>   File "/build/firefox-102.15.1/third_party/python/packaging/packaging/tags.py", line 7, in <module>
spidermonkey>     import distutils.util
spidermonkey> ModuleNotFoundError: No module named 'distutils'
error: builder for '/nix/store/d1sj7j5a78m6lwws3ygvywg0zk0cmxzv-spidermonkey-102.15.1.drv' failed with exit code 1;

Additional context
reproducible on nixos-unstable, nixos-master
Notify maintainers
@christoph-heiss
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.37, NixOS, 24.11 (Vicuna), 24.11.20240710.aa94615`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.4`
 - nixpkgs: `/nix/store/3x6hmlqc6682q9z6n11ynvmq19hfrgn0-source`

duplicate of #325785


GCM collapse_key [question]

Hello,
I am using django-push-notifications with DRF.
Is it possible to somehow specify the collapse_key optional string for GCM?
Thanks.

You can pass it as a kwarg to the send_message method.  See: https://github.com/jleclanche/django-push-notifications/blob/a6881bff007147863e45522f1a26573427fb6b77/tests/test_models.py#L55


site: add blog page

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Add a blog page to our website for posting newsletters and articles
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

site: add blog page

prefer to call these as Announcement or Release Announcement

prefer to call these as Announcement or Release Announcement

Apologies for not being clear enough.
The purpose of this PR is to create a blog page, and the current articles are just placeholders to demonstrate the blog layout.
I will submit complete articles later to replace these placeholder posts.
This is the full plan https://github.com/kurator-dev/kurator/issues/452

/lgtm

/approve


./namenode_exporter.go:312:28: undefined: prometheus.Handler

when i run 'go build namenode_exporter.go', I got this question, How to solve this problem？

see https://github.com/freenetdigital/prometheus_oracle_exporter/issues/22 for a similar problem.
You need to add this import : "github.com/prometheus/client_golang/prometheus/promhttp" and replace prometheus.Handler() by promhttp.Handler()


Allow log to an existing run ID in MLflow with MLFlowLogger

What does this PR do?

Currently MLflow logger is not able to use an existing run to upload new log information. This PR allows give a run_id to de MLflow logger constructor in order to use this existing run to log there the information. If the run_id doesn't exists a warning is shown informing about this and a new run is created, like the current MLflow logger constructor works.
Fixes #12287
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

@Kr4is we are currently in a feature freeze for the Lightning 1.6 release, which means we only merge bugfix and priority PRs. This feature may have to wait until 1.6 is released and 1.7 development starts.


Update CMakeLists.txt to tell MSVC using utf8 lang/c++

Tell MSVC to build grpc using utf-8

@hongnod CMakeLists.txt is a generated file. The change needs to be made in templates/CMakeLists.txt.template, then the build files need to be regenerated using ./tools/buildgen/generate_projects.sh.

@drfloob I see thansk！


package.json not getting version update

Hello guys!
Any clue why TriPSs/conventional-changelog-action@v3 is updating the version only inside the package-lock.json and is ignoring the package.json file?
Below my workflow definition:
name: Bump version
on:
  push:
    branches:
      - master
    paths-ignore:
      - 'package.json'
      - 'CHANGELOG.md'
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
      with:
        token: ${{ secrets.ACTION_TOKEN }}
    - name: Bump version and push tag
      uses: TriPSs/conventional-changelog-action@v3
      with:
        github-token: ${{ secrets.ACTION_TOKEN }}
        git-message: 'chore(release): {version}'
        preset: 'angular'
        tag-prefix: ''
        output-file: 'CHANGELOG.md'
        skip-on-empty: true
        version-file: 'package.json, package-lock.json'

Hi, could you provide the logs of the action?

Hi @TriPSs ! Here it is:
Run TriPSs/conventional-changelog-action@v3
Using "angular" preset
Using "chore(release): {version}" as commit message
Using "Conventional Changelog Action" as git user.name
Using<EMAIL_ADDRESS>as git user.email
Using "5" release count
Using "package.json, package-lock.json" as version file
Using "version" as version path
Using "" as tag prefix
Using "CHANGELOG.md" as output file
Using "" as config file
Skipping empty releases is "enabled"
Skipping the update of the version file is "disabled"
Pull to make sure we have the full git history
/usr/bin/git config user.name Conventional Changelog Action
/usr/bin/git config user.email<EMAIL_ADDRESS>/usr/bin/git remote set-url origin ***github.com/aerogear/unifiedpush-cli.git
/usr/bin/git rev-parse --is-shallow-repository
true
/usr/bin/git pull --unshallow --tags --ff-only
From https://github.com/aerogear/unifiedpush-cli
 * [new branch]      renovate/aerogear-unifiedpush-admin-client-4.x -> origin/renovate/aerogear-unifiedpush-admin-client-4.x
 * [new branch]      renovate/eslint-plugin-jest-24.x -> origin/renovate/eslint-plugin-jest-24.x
 * [new branch]      renovate/figlet-1.x     -> origin/renovate/figlet-1.x
 * [new branch]      renovate/gts-3.x        -> origin/renovate/gts-3.x
 * [new branch]      renovate/inquirer-7.x   -> origin/renovate/inquirer-7.x
 * [new branch]      renovate/jest-26.x      -> origin/renovate/jest-26.x
 * [new branch]      renovate/jest-monorepo  -> origin/renovate/jest-monorepo
 * [new branch]      renovate/node-10.x      -> origin/renovate/node-10.x
 * [new branch]      renovate/tripss-conventional-changelog-action-2.x -> origin/renovate/tripss-conventional-changelog-action-2.x
 * [new branch]      renovate/tripss-conventional-changelog-action-3.x -> origin/renovate/tripss-conventional-changelog-action-3.x
 * [new branch]      renovate/ts-jest-26.x   -> origin/renovate/ts-jest-26.x
 * [new branch]      renovate/ts-node-9.x    -> origin/renovate/ts-node-9.x
 * [new branch]      renovate/typescript-3.x -> origin/renovate/typescript-3.x
 * [new branch]      renovate/typescript-4.x -> origin/renovate/typescript-4.x
 * [new branch]      renovate/yargs-15.x     -> origin/renovate/yargs-15.x
 * [new tag]         0.0.1-alpha.0           -> 0.0.1-alpha.0
 * [new tag]         0.0.1-alpha.1           -> 0.0.1-alpha.1
 * [new tag]         0.0.1-alpha.2           -> 0.0.1-alpha.2
 * [new tag]         0.0.1-alpha.3           -> 0.0.1-alpha.3
 * [new tag]         0.1.0                   -> 0.1.0
 * [new tag]         0.2.0                   -> 0.2.0
 * [new tag]         0.2.1                   -> 0.2.1
 * [new tag]         0.2.10                  -> 0.2.10
 * [new tag]         0.2.2                   -> 0.2.2
 * [new tag]         0.2.3                   -> 0.2.3
 * [new tag]         0.2.4                   -> 0.2.4
 * [new tag]         0.2.5                   -> 0.2.5
 * [new tag]         0.2.6                   -> 0.2.6
 * [new tag]         0.2.7                   -> 0.2.7
 * [new tag]         0.2.8                   -> 0.2.8
 * [new tag]         0.2.9                   -> 0.2.9
Already up to date.
Recommended release type: major
Because: There is 1 BREAKING CHANGE and 1 features
Files to bump: package.json, package-lock.json
Bumping version to file "package.json" with extension "json"
Bumping version to file "package-lock.json" with extension "json"
Changelog generated
# [1.0.0](https://github.com/aerogear/unifiedpush-cli/compare/0.2.10...1.0.0) (2020-12-16)

### Bug Fixes

* 🐛 added the url parameter to the header ([f5573f2](https://github.com/aerogear/unifiedpush-cli/commit/f5573f2d4b9208461d8f24a25a2ae405c0abba2c))

### Features

* 🎸 added application import feature ([16846e0](https://github.com/aerogear/unifiedpush-cli/commit/16846e034f12b3e00e3b9f61d97b32a8f7958edb))
* 🎸 replaced the `def` option with custom options ([3b59daf](https://github.com/aerogear/unifiedpush-cli/commit/3b59daf2fb90b90ffd8682a3f2a9b8298cd5bf2c))

### BREAKING CHANGES

* 🧨 New command line syntax

New version: 1.0.0
/usr/bin/git add .
/usr/bin/git commit -m chore(release): 1.0.0
[master 0ba6166] chore(release): 1.0.0
 2 files changed, 22 insertions(+), 6 deletions(-)
/usr/bin/git tag -a 1.0.0 -m 1.0.0
Push all changes
/usr/bin/git push origin master --follow-tags
remote:
remote: [8x-- cut by me]
remote: [8x-- cut by me]
remote:
To https://github.com/aerogear/unifiedpush-cli.git
   7548089..0ba6166  master -> master
 * [new tag]         1.0.0 -> 1.0.0

Hmm okay, this looks good, it is not skipping the file as line Bumping version to file "package.json" with extension "json"  shows so it's a bit weird why the version is not updated. The new version was different then the version that currently is in the file?

You can see the result here: https://github.com/aerogear/unifiedpush-cli/commit/0ba61661c01baac5a54393c784e335d86748aa4b
As you can see, only the package-lock.json has been committed.
package-lock.json has version 1.0.0: https://github.com/aerogear/unifiedpush-cli/blob/master/package-lock.json#L3
package.json has version 0.2.0: https://github.com/aerogear/unifiedpush-cli/blob/master/package-lock.json#L3

Hey @TriPSs
If it can be of any help, the same happened on another project too: the day before it worked, the day after it didn't...

14 December - working:  https://github.com/aerogear/unifiedpush-admin-client/commit/3df2f65fa1f258a4f048476a6b74863379f7ab67
15 December - not working: https://github.com/aerogear/unifiedpush-admin-client/commit/e11b64f630f1a14fe1a5706a2b06babc0e3d7ef2

@ziccardi i just released a new version that also has a bit more logging, could you check? I'm not quite sure why it does not work as it seems to work in the tests 🤔

@TriPSs I undo all the commits up to the PR merge to replicate the exact same situation, but the result has been the same.
Logs:
Run<EMAIL_ADDRESS>Using "angular" preset
Using "chore(release): {version}" as commit message
Using "Conventional Changelog Action" as git user.name
Using<EMAIL_ADDRESS>as git user.email
Using "5" release count
Using "package.json, package-lock.json" as version file
Using "version" as version path
Using "" as tag prefix
Using "CHANGELOG.md" as output file
Using "" as config file
Skipping empty releases is "enabled"
Skipping the update of the version file is "disabled"
Pull to make sure we have the full git history
/usr/bin/git config user.name Conventional Changelog Action
/usr/bin/git config user.email<EMAIL_ADDRESS>/usr/bin/git remote set-url origin ***github.com/aerogear/unifiedpush-cli.git
/usr/bin/git rev-parse --is-shallow-repository
true
/usr/bin/git pull --unshallow --tags --ff-only
From https://github.com/aerogear/unifiedpush-cli
 * [new branch]      CLI_UPDATE           -> origin/CLI_UPDATE
 * [new branch]      renovate/figlet-1.x  -> origin/renovate/figlet-1.x
 * [new branch]      renovate/gts-3.x     -> origin/renovate/gts-3.x
 * [new branch]      renovate/node-10.x   -> origin/renovate/node-10.x
 * [new branch]      renovate/ts-node-9.x -> origin/renovate/ts-node-9.x
 * [new tag]         0.0.1-alpha.0        -> 0.0.1-alpha.0
 * [new tag]         0.0.1-alpha.1        -> 0.0.1-alpha.1
 * [new tag]         0.0.1-alpha.2        -> 0.0.1-alpha.2
 * [new tag]         0.0.1-alpha.3        -> 0.0.1-alpha.3
 * [new tag]         0.1.0                -> 0.1.0
 * [new tag]         0.2.0                -> 0.2.0
 * [new tag]         0.2.1                -> 0.2.1
 * [new tag]         0.2.10               -> 0.2.10
 * [new tag]         0.2.11               -> 0.2.11
 * [new tag]         0.2.2                -> 0.2.2
 * [new tag]         0.2.3                -> 0.2.3
 * [new tag]         0.2.4                -> 0.2.4
 * [new tag]         0.2.5                -> 0.2.5
 * [new tag]         0.2.6                -> 0.2.6
 * [new tag]         0.2.7                -> 0.2.7
 * [new tag]         0.2.8                -> 0.2.8
 * [new tag]         0.2.9                -> 0.2.9
Already up to date.
Recommended release type: major
Because: There is 1 BREAKING CHANGE and 1 features
Files to bump: package.json, package-lock.json
Bumping version to file "package.json" with extension "json"
Bumping version to file "package-lock.json" with extension "json"
Bumped file "/home/runner/work/unifiedpush-cli/unifiedpush-cli/package-lock.json" from "0.2.10" to "1.0.0"
Bumped file "/home/runner/work/unifiedpush-cli/unifiedpush-cli/package-lock.json" from "0.2.10" to "1.0.0"
Changelog generated
# [1.0.0](https://github.com/aerogear/unifiedpush-cli/compare/0.2.10...1.0.0) (2020-12-16)

### Bug Fixes

* 🐛 added the url parameter to the header ([6d8bacb](https://github.com/aerogear/unifiedpush-cli/commit/6d8bacbefa20c24f70eb0ada84688ff909b88f85))

### Features

* 🎸 added application import feature ([d58242e](https://github.com/aerogear/unifiedpush-cli/commit/d58242ece766739dcc9a9de0b7fec85979597e2e))
* 🎸 replaced the `def` option with custom options ([0b0b354](https://github.com/aerogear/unifiedpush-cli/commit/0b0b354fa1210ab6b4404c4e6acd66a52c5413f1))

### BREAKING CHANGES

* 🧨 New command line syntax

New version: 1.0.0
/usr/bin/git add .
/usr/bin/git commit -m chore(release): 1.0.0
[master 68c7970] chore(release): 1.0.0
 2 files changed, 22 insertions(+), 6 deletions(-)
/usr/bin/git tag -a 1.0.0 -m 1.0.0
Push all changes
/usr/bin/git push origin master --follow-tags
remote:
remote:     [ cut ]
remote:     [ cut ]
remote:
To https://github.com/aerogear/unifiedpush-cli.git
   4f1ca9d..68c7970  master -> master
 * [new tag]         1.0.0 -> 1.0.0

This is the workflow definition: https://github.com/aerogear/unifiedpush-cli/blob/master/.github/workflows/version_bump.yml
This is the commit updating only package-lock.json: https://github.com/aerogear/unifiedpush-cli/commit/68c7970e72dedf216bc0999da58c400a1c703473
This is the repo where you can see the two package.json and package-lock.json with 2 different versions (package.json has not been updated)

Thanks, the new logs did give us something:
Bumping version to file "package.json" with extension "json"
Bumping version to file "package-lock.json" with extension "json"
Bumped file "/home/runner/work/unifiedpush-cli/unifiedpush-cli/package-lock.json" from "0.2.10" to "1.0.0"
Bumped file "/home/runner/work/unifiedpush-cli/unifiedpush-cli/package-lock.json" from "0.2.10" to "1.0.0"

It's bumping the same file twice.

Fix has been released in (v3.7.1)[https://github.com/TriPSs/conventional-changelog-action/releases/tag/v3.7.1] and v3 has been updated, could you validate if this solves your issue?

Looks like that worked!

Awesome! Thanks for reporting and help solving this bug. Going to close the issue.


Setup with Github Actions

Setup a pipeline using github actions to push this to the nuget repo for dotnet tool usage.

https://github.com/3CS-Software/test-out/pull/2 was merged


.NET Temporal SDK vs. Java SDK alignment pass

We need to do a pass through the new Temporal Java SDK to see if they've made any changes (e.g. names) that we should apply to the .NET side.

CLOSING: Temporal is deprecated.  We're waiting for an official client.


Problem: node version is v4 but not v8

Make sure these boxes are checked before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Superset version
https://github.com/apache/incubator-superset/tree/70327ca42c805f673ac9fb82934d8563aeb68aa8
Expected results
Dockerfile build success
Actual results
Docker build failed because node version is v4
Steps to reproduce
bash -x docker-build.sh
relate to
https://github.com/apache/incubator-superset/pull/6303
https://github.com/apache/incubator-superset/pull/6387
I don't know how to fix this problem in master branch .
I have fixed this problem by unofficial docker base images but didn't match this project requirements

Hello, I have a problem today with run build with node and have the v8.12.0. Do you pull the last changes in the master branch, Maybe the errors could be related.

Maybe already fixed by newer version


Display issues on 4k monitor

See screenshot:

This issue doesn't happen for other themes

Thanks for your report 👍
This is a strange issue. If other themes work fine it may be related to the currently unoptimized UI scaling of the theme.
I'll tag the issue as pending until the UI scale refactoring in #58 has been implemented and merged which may fix this issue too as a side effect.
Unfortunately I'm not able to reproduce it because of "Hardware" limitations 😆 (Maybe next week at work on a iMac).

Same problem on 1920x1080res, not apple monitor

Yes, exact same issue here. Dell XPS 13 9350, with a 1920*1080 display at 100% scaling on Windows 10 (updated).

Unfortunately I'm not able to reproduce this and I've currently no idea where the origin of this strange bug could be. It looks like there is a kind of margin to the text.
Can you please try to analyse the bright sections with the developer tools (Ctrl + Shift + i) and check if these are wrapped into a <div> or any other kind of element and if there are any CSS classes or IDs assigned to it? You can also create a DOM dump and post it in a archive file so I can debug it.
Also can you check if you have the Full-Width Tab Sizing theme setting disabled?
There have been several problems when this gets disabled and I think I'll have to remove it until #58 has been merged.

I've done a small research and (luckily) it seems like the Nord theme is not the origin of this problem but Atom or more precisely Chromium contains a bug related to div rendering. It seems like these glitches are random so it is hard to reproduce this, but they appear with other Atom UI- and Syntax themes too.
See related issues atom/atom #14318, atom/atom #12634 and Chromium bug tracker ticket #633805.

I close this since it seem to be Atom problem.
If there are solutions to fix this on the theme site feel free to reopen it.


Swift 4.2 to 5.0 upgrade

Hi,
We used KeychainAccess to store our encryption key in keychain. We encountered bug when upgrading our application Swift version from 4.2 to 5.0 the key dissapeared from keychain.
        let keychain = Keychain(service: serviceId)

        var key = Data(count: 64)
            _ = key.withUnsafeMutableBytes { bytes in
                SecRandomCopyBytes(kSecRandomDefault, 64, bytes)
            }
        try? keychain.set(key, key: keyId)

The same!


Hourly values for model results

For a more detailed weather forecast or statistical evaluation the calculated wrf data should be aggregated to hourly or even daily values. These data should be used for further logic or served as json formatted output.

Done with #5.


Update doctr recipe to 1.3.3

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


How to get pretrained_selavi_vgg_sound.pth

Hi , I am wondering how to get the pth file in the instruction ' --weights_path <path_to_pretrained_selavi_vgg_sound.pth>'? I didn't find it from the referenced link.
Obtaining SeLaVi features
For obtaining the SeLaVi features we used the following command
python3 selavi_feature_extraction/get_clusters.py
--root_dir <path_to_raw_videos>
--weights_path <path_to_pretrained_selavi_vgg_sound.pth>
--mode train
--pretrained False
--aud_sample_rate 44100
--use_mlp False
--dataset {activity,ucf,vggsound}
--headcount 2
--exp_desc <experiment_description>
--output_dir <path_to_save_extracted_features>
--batch_size 1
--workers 0

Hi.
Here https://github.com/ExplainableML/AVCA-GZSL/tree/main/selavi_feature_extraction you can find a table named "Model Zoo". The last row in that table contain the model that you need to download ( https://dl.fbaipublicfiles.com/selavi/selavi_vgg_sound.pth). And after downloading you just need to put the path of the model in the above command.


performance, use webgl as default context

All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

webgl2 is currently at 77.49% https://caniuse.com/webgl2
webgl2 is mostly backward compatible, and main issue is that some extensions are now included, so it might require some compat tweaks.
Looks like just using webgl2 instead of webgl brings perf improvements out of the box https://emscripten.org/docs/optimizing/Optimizing-WebGL.html#which-gl-mode-to-target
threejs impl for this started in 2016 https://github.com/mrdoob/three.js/issues/8125 so if there will be issues, it should be easy to find solution
It seems to be working just fine after some initial testing and loading models.

Looks like a nice performance boost.
However, iOS browsers are not supported yet. It would be kind of bad to disable that group of users.
Hopefully, this will be supported soon.

@z3dev It is not disabling anything 🦊  ... just prefers webgl2, and if unavailable uses webgl.

@hrgdavor these changes look fine.
however, REGL should also be doing this internally. If not already then let’s raise a new issue.

@z3dev sure. I will look into it, so we get it via regl instead of this PR.

@z3dev I have opened an issue https://github.com/regl-project/regl/issues/623 , and let's see if this is something they are willing to do in regl.
sidenote: regl-renderer currently uses version 1.6.1 of regl, so I will be trying out latest: 2.1.0

I must sadly report that it is unlikely there will ever be webgl2 in regl 😞  https://github.com/regl-project/regl/issues/378
I was doing initial impl for #812 and wanted to use oes_element_index_uint (uint32 for indices > 65535) and hit a brick wall with regl.

I can for example use regl+webgl1 and allow the extension
If I use regl+webgl2 I cant then use oes_element_index_uint because regl prevents using uint32 as it wrongly thinks iti is needed in webgl2
so now that I will have code that works for both those that have oes_element_index_uint  and those that dont, regl forces me to disable oes_element_index_uint when using webgl2

#812 will still be useful to any renderer, as any of them using webgl will be able to use the buffers directly without further conversion.
I have no patience to fight with regl folks. I will rather spend time making an alternative renderer. I am sure that there will be things that will benefit regl-renderer performance in the process.
Threejs based renderer is working for me and I use it it constantly, and hopefully I can make it good enough to include in jscad at some point as alternative option. People then can switch if they want to use threejs or regl-renderer without issues. Some may prefer threejs, some may hate threejs as bloat. ( I am actually extracting code for #812 from my threejs renderer prototype)
I am making nice progress on web worker and it will likely provide reusable code that could be then used to make versions  based on both regl and threejs.

What I am learning while researching this topic is that it will be easier to standardize renderer worker, and I am close to doing that regl-renderer and my prototype threejs-renderer are easily interchangeable.
The renderer does not have to support too many things, and it is easier to use regl with ppl that are ok with webgl1, and then let them have option to use threejs if the want benefits of webgl2.
This way we do not need a magic library that is small and supports both webg1 and webgl2.
Alsno there is new kid on the block promising even more performace: WEBGPU ... and for that one, it makes even more sense to implement renderer, rather than looking for lib that works seamless with webgl1, webgl2, webgpu. Especially as it has rather different API.

s lIke support for oes_element_index_uint is at 95% globally and more likely 100% if the browser supports webgl at all (since 2015)
https://caniuse.com/mdn-api_oes_element_index_uint
I have a snippet that I use in my renderer worker that works around regl limitation
  function createContext (canvas, contextAttributes) {
    function get (type) {
      try {
        return {gl:canvas.getContext(type, contextAttributes), type}
      } catch (e) {
        return null
      }
    }
    return (
      get('webgl2') ||
      get('webgl') ||
      get('experimental-webgl') ||
      get('webgl-experimental')
    )
  }

.......
.......

    const {gl, type} = createContext(canvas)
    // prepare the renderer
    const setupOptions = {
      glOptions: {gl}
    }
    if(type == 'webgl'){
        setupOptions.glOptions.optionalExtensions = ['oes_element_index_uint']
    }
    renderer = prepareRender(setupOptions)

@z3dev I would argue that it is safe to remove the limit for length of vertices array that is 65536

@hrgdavor once again, thanks for the research and information.
it seems that the extension is supported across the world of browsers so let’s try using using it.
And there’s a test case for HUGE geometries as well, so the conversation should work fine.
I see two options

only support rendering using the extension, and throw an error if the extension is not available (and ask the user to upgrade)
support both cases, and implement old and new conversions

But, we already have a ‘move forward’ policy. This extension has been fully supported for years. So, I would favor the first option. Users should be upgrading and moving forward.

So, I would favor the first option. Users should be upgrading and moving forward.

Excellent. I will update the PR to do what you asked:

only support rendering using the extension,
throw an error if the extension is not available (and ask the user to upgrade in the err mesage)

@z3dev it is ready for review when u get time

to cause the error you can edit viewer.js on line 232
  if (type === 'webgl') {

and put webgl2 instead of weblg ... this will cause the check to fail, as webgl2 does not have the extension (it is builtin)

@hrgdavor can you add a list of OS, browsers, and versions tested to the initial comment.
If needed then we can enlist some testing across more browsers.

@hrgdavor can you add a list of OS, browsers, and versions tested to the initial comment.

tested on Windos 10 : Chrome, Firefox, Edge


Stuck on retrieving stats, or downloading games list

The last few weeks it's been pretty flakey for me. Usually the games lists and icons would download, but than when I click into one ,it would stall retrieving stats.
Today i can't even get the games list to downloads, times out and shows space wars.
Happening to anyone else lately?

See #152.

Everything is working Good on my side i can see all the game i own perfectly ! Sounds Great ! @gibbed

Mm yea main server seems back up, my list of games appears fine now.
But when i click into one, infinitely stuck on "Retrieving stat information... "
Been an off and on issue for me the last month or so, not sure what's causing it. I think it's probably unrelated to SAM, since even sometimes when i load into games and shift+tab, the achievements don't appear.. Like the Steam achievement API is just failing to load/ won't talk to my computer. Makes no sense as I otherwise have no network issues.

Mm yea main server seems back up, my list of games appears fine now.
But when i click into one, infinitely stuck on "Retrieving stat information... "
Been an off and on issue for me the last month or so, not sure what's causing it. I think it's probably unrelated to SAM, since even sometimes when i load into games and shift+tab, the achievements don't appear.. Like the Steam achievement API is just failing to load/ won't talk to my computer. Makes no sense as I otherwise have no network issues.

Yeah that sounds like an issue on Steam's side.


feat(i18n): Spanish translate

I followed all instructions, but if there is a mistake, please notice me. I'm here by hacktoberfest :wink:

Hey 🙂
Thanks for your PR. Looks good so far, even thoug my spanish is limited to Google Translate 😄
I actually forgot something to mention in the issue, do you mind adding the new language here as well?
Also needs to be added at these places:
https://github.com/TorstenDittmann/OmniaWrite/blob/305405eb91ee2e7866ad8143c421b212c0e96052/src/shared/Install.svelte#L11-L20
https://github.com/TorstenDittmann/OmniaWrite/blob/305405eb91ee2e7866ad8143c421b212c0e96052/src/shared/Install.svelte#L11-L20
Thanks 🙇

Never mind, no need to do that.
I just fixed the way, langauges were being loaded 👍

@all-contributors please add @dennistobar  for translation


Add a UI labrary

Add the GLUI library as a dependency for MACE and use it to render UI.

I already made a UI library. If you want to, you can still add it. The only thing I don't have from GLUI is your graphs - that would be awesome to have in MACE.

There is a special API to add UI elements. If you want to learn what it is tell me.

What UI API are you talking about? Also, you want to add graphing functionality to a game engine?

The UI api I made. Also, I want to use it for anything, not only games. Some games have graphs anyways. You already have it programmed in OpenGL 3.3 so I don't think it would be difficult

The graphing thing that I made can only be used to graph mathematical functions. If you really want I could try to figure out a way to put it in, but I'm not sure how graphing a sine wave will help MACE.


Disable logs should disable native logs as well

Current the disable logs method disables logs only for the dart code; it could call a backend method through the channel in order to disable the android/swift logs as well, as those are not normally necessary and can pollute the output.
Alternatively, use a better logging scheme (find out how dart/flutter should handle this).

This was added on 0.6.0.


import mixs-linkml doesn't work yet

although pip install mixs-linkml does

should we rename the package while we have the chance? @ramonawalls ?

I'm afraid I don't really understand what this means and what needs to be changed.


feat: add resetCommandsPaths

Solve the problem that the default command cannot be removed

?
!

Type
feature

BC Break
yes

Fixed issues
Solve the problem that the default command cannot be removed

Summary

Hi @wright-tw, thanks for your contribution and sorry for the long wait!
What would make more sense in my opinion, is to have a setCommandsPath(string $path) and setCommandsPaths(array $paths) methods, which literally just overwrite the variable, using the existing methods to add the new ones.
Does that make sense to you?

Hi @noplanman, thanks for your comment.
My purpose of adding a new reset method is
Don't want to use the old built-in commands in the suite
Examples of built-in commands:
src/Commands/AdminCommands/ChatsCommand.php
src/Commands/AdminCommands/CleanupCommand.php

@wright-tw Yes, that's how I understood it 👍
It makes more sense to add this feature more streamlined and to use the already existing methods.
I'll merge your PR and then adjust it.
Thanks for your contribution!


Allow more features from API endpoint

We needed to get exported a whole bunch of blocks children along with the parent to embed the documentation in a vector store. So, starting off you work we implemented chance to perform:

recursive export
enable/disable to export PDFs and images

Also, added a new method to unzip all exported files into a folder (for us that is useful to use LangChain's NotionLoader
Let me know if something is missing or it needs rework.

Hi there,
first of all thanks for using and contributing the notion-exporter. It's really side-project of mine, so therefore the long response time but I'm glad you're willing to improve it!
If I read your PR correctly you'd like:

more config options regarding the request that is sent to Notion
the getMdFiles method

Both are very good ideas to me! I'd suggest however to:

split this PR into two (one for each above)
for the config options, I'd suggest changing the signature of the constructor to the following:

interface Config {
  noFiles?: boolean
  recursive?: boolean
 // we could even add more here
}

class NotionExporter {
  ...
  constructor(tokenV2: string, fileToken: string, config?: Config) { ... }
}

What do you think? Would you want to provide those PRs or should I create some?

Hi... this is also a sort of side project/development hehe.
No problem with the PRs, lets do it in the right way, but give us some time as we have main projects to attend ☺ . Most likely along this week if no unforeseen things happen.
Thank you!

I actually found some time now and will add the getMdFiles method as per you suggestion.


Dashboard Single Pages: exclude_nav=true ignored

In the dashboard view.php all single pages are listed, also when the attribute exclude_nav is set to true. I changed line 24 in /concrete/dashboard/view.php from
if ($catp->canRead()) {

to
if ($catp->canRead()  && (!$subcat->getAttribute('exclude_nav'))) {

Then it works as expected. I guess this is a bug or is it intentionally like this?

We've always used permissions to hide certain dashboard pages. I assume most people did that too and thus no one ever really cared. But I agree that it would propaply be correct to change it.

Well, we need a special group to be able to access the corresponding single pages, but only through a link from another single page. If those pages are accessed directly some environment variables are not set (correctly). So I need them to have access, but not over a direct link.

Seems like this should be closed as of #2760?


Simplify / shorten / reorganize cargo generate's help text.

Currently, the help text for cargo generate is quite large, both vertically (there are many flags) and horizontally (the descriptions for the flags are quite long).
On my own system I have:

Click to view the help text.
cargo, make me a project

Usage:

Arguments:
  [AUTO_PATH]
          Auto attempt to use as either `--git` or `--favorite`. If either is specified explicitly, use as subfolder

  [SUBFOLDER]
          Specifies a subfolder within the template repository to be used as the actual template

Options:
      --test
          Expand $CWD as a template, then run `cargo test` on the expansion (set $CARGO_GENERATE_TEST_CMD to override test command).

          Any arguments given after the `--test` argument, will be used as arguments for the test command.

  -g, --git <GIT>
          Git repository to clone template from. Can be a URL (like `https://github.com/rust-cli/cli-template`), a path (relative or absolute), or an `owner/repo` abbreviated GitHub URL (like `rust-cli/cli-template`).

          Note that cargo generate will first attempt to interpret the `owner/repo` form as a relative path and only try a GitHub URL if the local path doesn't exist.

  -b, --branch <BRANCH>
          Branch to use when installing from git

  -t, --tag <TAG>
          Tag to use when installing from git

  -p, --path <PATH>
          Local path to copy the template from. Can not be specified together with --git

      --favorite <FAVORITE>
          Generate a favorite template as defined in the config. In case the favorite is undefined, use in place of the `--git` option, otherwise specifies the subfolder

      --list-favorites
          List defined favorite templates from the config

  -n, --name <NAME>
          Directory to create / project name; if the name isn't in kebab-case, it will be converted to kebab-case unless `--force` is given

  -f, --force
          Don't convert the project name to kebab-case before creating the directory. Note that cargo generate won't overwrite an existing directory, even if `--force` is given

  -v, --verbose
          Enables more verbose output

      --template-values-file <TEMPLATE_VALUES_FILE>
          Pass template values through a file Values should be in the format `key=value`, one per line

  -s, --silent
          If silent mode is set all variables will be extracted from the template_values_file. If a value is missing the project generation will fail

  -c, --config <CONFIG>
          Use specific configuration file. Defaults to $CARGO_HOME/cargo-generate or $HOME/.cargo/cargo-generate

      --vcs <VCS>
          Specify the VCS used to initialize the generated template

      --lib
          Populates template variable `crate_type` with value `"lib"`

      --bin
          Populates a template variable `crate_type` with value `"bin"`

  -i, --identity <SSH_IDENTITY>
          Use a different ssh identity

  -d, --define <DEFINE>
          Define a value for use during template expansion

      --init
          Generate the template directly into the current dir. No subfolder will be created and no vcs is initialized

      --destination <DESTINATION>
          Generate the template directly at the given path

      --force-git-init
          Will enforce a fresh git init on the generated project

  -a, --allow-commands
          Allows running system commands without being prompted. Warning: Setting this flag will enable the template to run arbitrary system commands without user confirmation. Use at your own risk and be sure to review the template code beforehand

  -o, --overwrite
          Allow the template to overwrite existing files in the destination

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

This is 90 lines long, and the widest line is 249 characters long. The end result is that it becomes fairly unwieldy to read in a terminal.
Relatedly, the flags don't appear to be grouped in a clear schema, nor are any exclusive relationships between flags made clear from the help text. There's a tension here of course between wanting to be as explanatory as possible in the help text, while also wanting to be brief.
All that said, I think some of the following changes would be good, and if there's agreement / interest from the project, I'm happy to take a crack at them!

[ ] Grouping flags together to indicate exclusivity or shared purpose. For example, exclusive flags which specify the source of the template to be used for generation could be grouped together in the help text.
[ ] Rewriting descriptions for flags to, where possible, be shorter. Otherwise applying hard line wraps to limit the help text width and avoid overflow, or even investigating options for implementing "correct" overflow (proper left alignment) based on calculated width of the terminal at the time of output.
[ ] Making grammar and punctuation usage correct and consistent across descriptions.
[ ] Offering a help subcommand or --help <flag_name> variant to provide a greater amount of detail on specific flags, and including a reference to this expanded-help option in the normal help text.

Happy to also consider other options! All in all I really like cargo-generate and I think some work on this help UI could make the experience of using it even better!

In #1223 I added color and grouping to make it look like:

I'm not 100% on the group names etc. They're better than nothing, but feel free to fix these up if you have ideas on this. I don't have any real inclination to bikeshed it - mostly this was about making it easier for me to work out what options were useful from a wall of options.
There's a difference in output between -h and --help, the former does the view above, where the latter does the full width approach. Both are often useful, but other comparative help texts in cargo tend to use the -h view. I'm not sure how that works though.
I'd encourage rewriting the descriptions - you can probably just rewrite the doc comment into a form where there's a newline between the summary and the long comment (From the clap docs https://docs.rs/clap/latest/clap/_derive/index.html#arg-attributes)

help = : Arg::help
When not present: Doc comment summary
long_help[ = ]: Arg::long_help
When not present: Doc comment if there is a blank line, else nothing
When present without a value: Doc comment


Ensure Mockito is not included at compile time

Mockito is only used in the tests of this library and should not normally be compiled into the final Jar
Thanks!

Weird that we haven't discovered this in over two years. Thanks for noticing and taking your time to fix it!


Register

@JuliaRegistrator register()

I don't think registration is a requirement per se. Am I in violation of a registration policy?

I am still confused about the policy because the term "personal use" is not defined, which makes it impossible to know if I am in violation of the policy.
I recommend opening an issue in the general registry and proposing clearer criteria on what constitutes personal use and perhaps a method for enforcing the policy.  For example, a package must satisfy 3 out of 4 criteria to be registered. If the package does not meet the guidelines, an individual can submit an issue on the general  registry with an explanation detailing how the package fails the guidelines.

Thanks for opening an issue with the general registry. I think having clearer guidelines will be useful for the community.


update link for wmenu and grim

Description
Short description of the changes:
wmenu moved from sr.ht to codeber.org and grim moved from github to sr.ht. I changed links and checked if there is more broken links.
Checklist
I have:

[ x] 🤳 made sure that what I am adding is an app for end users, not a developer tool / library (no "wl-clipboard-rs")
[ x] 🔗 checked that the link I am using refers to the root of the project (example, https://mpv.io) or GitHub repo if the first is not available
[ x] 🤓 checked BOTH the name and the casing of the project(s) I am adding ("GNOME Terminal" and not "gnome-terminal", "bemenu" and not "Bemenu", etc.)
[ x] 💣 checked that I am using spaces for indentation and that my levels are correct (no tabs!)
[ x] ✋ checked that my section has the correct casing ("My section", and not "My Section")
[ x] 📝 checked that the projects and / or the section are alphabetically sorted ("Clipboard manager" then "Color picker", "bemenu" then "Fuzzel")

Thanks a lot!


These sources are not cited on the page

https://github.com/instructlab/community/blob/980cd070fb4c58e795f201a1b0d25ba69fe8c2fc/docs/README.md?plain=1#L42-L46

I'm betting they are put here as examples. We should be moving this over to docs.instructlab.ai, so maybe we'll remove them then.
We are auditing everything with the build of docs.instructlab.ai.


Verify Eth Headers

This PR builds on #995
Adds an ethash algorithm (mostly cribbed from here) to verify ethereum headers. Because the hash must use a pseudorandom cache that is

expensive to compute
but valid for a 30000 blocks
we add a background process to precompute this cache, keeping verification times fast.

This required refactoring the Anoma types for interacting with Ethereum types.
N.B. This requires the latest commit of Tendermint ABCI++ branch

pls update wasm

the design of the bridge has been revised and so this PR won't be used (remains open for salvaging common parts)


esFtl Size Limit ??

The README.md implies there is a size limitation.  Is that true ??
I’m going to try and use this with a 4Gb Micron SLC NAND part.  (Upgrading to the 8Gb at some point.)
Thanks

Yes, there is a limit due to usage of 16 bit integer on mapping between logical sectors to nand pages. Current code base can only address 65535 pages and that means 128 mb if the page size is 2kb. However, I think it can be overcome by making some changes in light of this comment.

The Micron MT29F4G01ABAFD12 part we're using has a 4K page size and I think 131072 total pages.

MT29F4G01ABAFD12
– Page size ×1: 4352 bytes (4096 + 256 bytes)
– Block size: 64 pages (256K + 16K bytes)
– Plane size: 1 × 2048 blocks
It seems it has 131072 pages, but the library is capable of addressing only 65535 pages. That means you can only use half.


Collapse arrow overlap with dropdown arrow

Collapse arrow overlap with a dropdown arrow.
Even if I use truncate, ellipsis - it is not working since the collapse-title is div.
I tried changing into p tag, it was not aligning to the top of the collapse window.
Screenshot

Thank you @saadeghi.
I will fix that. Thanks again for the opportunity.
I will go through that link.


improve windows build script

stop on first error
change error action to be more compatible with different windows versions

:+1:


Urql vue composition

Description
This adds a new plugin to generator Vue composition functions for urql.
Related #6029
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Screenshots/Sandbox (if appropriate/relevant):
Adding links to sandbox or providing screenshots can help us understand more about this PR and take action on it as appropriate
How Has This Been Tested?

[x] Unit tests
[x] Code generation tests (typing works)

Test Environment:

OS: macos
@graphql-codegen/...: latest master
NodeJS: 14

Checklist:

[x] I have followed the CONTRIBUTING doc and the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@dotansimha when you have time to review :)
Unsure what I need to do to create the changeset, just let me know

I'm reviewing this at the moment, @Sytten if that's ok with you I'll make PRs to your branch.
About the changeset: I've been able to generate it, but I'm unclear what the versioning strategy should be.
For now, I'm setting the plugin version to 0.0.0, with a changeset for a major version which will bring it back up to 1.0.0
That said, the contribution documentation here say that the plugin should be at the same version as the main plugin?
On the other hand not all packages share a version, so I am unsure what to do. @dotansimha if you could impart some wisdom it would be apreciated.

PR done, see here @Sytten
Minor fixes, added changeset, added website documentation.
All tests pass.
Could not test the module itself in one of my projects, so my example in the docs is just my best guess.
I wanted to test the plugin itself in my project, but I could not despite my best efforts.
The tests pass so that will have to do I guess.

Looking at the generated code, it seems we could remove the use of any and pass never instead?
(please take this with a grain of salt, I am very new to typescript)
this is example generated code:

as you can see we use any in the UseQueryArgs type. Here is the definition for that type
export interface UseQueryArgs<T = any, V = object> {
    query: MaybeRef<TypedDocumentNode<T, V> | DocumentNode | string>;
    variables?: MaybeRef<V>;
    requestPolicy?: MaybeRef<RequestPolicy>;
    context?: MaybeRef<Partial<OperationContext>>;
    pause?: MaybeRef<boolean>;
}

The generic T is only relevant if the query is of type TypedDocumentNode<T, V>.
Our generated code passes a DocumentNode instead, so the type T is not used.
Passing never would add extra type safety, and also silence some eslint errors 😉
Note: I am unsure how this plays with the documentMode: external and importDocumentNodeExternallyFrom options.
The code generated by typescript-urql does not use any at all

I just passed any since I needed to put the variables in the second parameter, you can most likely pass a never or unknown there too instead. I don't have a strong opinion on this other that the default value for the parameter is any so that's what I put there.

Reason I'm suggesting this is mostly the ESLint rule @typescript-eslint/no-explicit-any which some projects may have enabled.
Since you don't have an objection, I will go ahead and change it to never which is more accurate, and less likely to trigger linting errors

Hello, is this pull feature ready ? Is there anything left to do ?

Sorry for late response.
Could you rebase the conflicts so we can run the tests?

Will do today, if you can review the rest 🙏 @ardatan

We are using:
  src/generated/graphql_urql.ts:
    plugins:
      - "typescript"
      - "typescript-operations"
      - "@graphql-codegen/typescript-urql"
    config:
      urqlImportFrom: "@urql/vue"

without any issues right now.
The APIs could be different enough to warrant two different plugins, not sure about that.

It does need another API because the typing is not exactly the same, I will apply your suggestions though.

@Sytten I mean, wouldn't adding an option to the existing typescript-urql plugin be a possibility?

On the contrary, it would just mean mixing react and vue code. I dont get why we would want to do that.

Anything I can do to help here?

Amazing work, thank you all :)
We can move on with this one!


Bug title

Describe the bug
When creating a new "Blank App, Packaged (WinUI 3 in Desktop)", and installing Microsoft.UI.Xaml using NuGet, the app crashes, with this error message:
DEP1000: Cannot copy file "C:\Users\mango.nuget\packages\microsoft.ui.xaml\2.7.0\buildTransitive..\lib\uap10.0\Microsoft.UI.Xaml.winmd" to layout "\Microsoft.UI.Xaml.winmd". UnauthorizedAccessException - Access to the path '\Microsoft.UI.Xaml.winmd' is denied. [0x80070005]
Steps to reproduce the bug

Create a new "Blank App, Packaged (WinUI 3 in Desktop)"
Install any version of Microsoft.UI.Xaml using NuGet
Try to start

Expected behavior
The app was supposed to launch fine
Screenshots
No response
NuGet package version
Microsoft.UI.Xaml 2.7.0
Windows app type

[X] UWP
[x] Win32

Device form factor
Desktop
Windows version
Insider Build (xxxxx)
Additional context
No response

Same is happening to me.... VS22 17.06., Microsoft.UI.XAML 2.7.0 on a windows 11 machine

Same is happening to me.... VS22 17.06., Microsoft.UI.XAML 2.7.0 on a windows 11 machine

Same, Windows 11

You can't mix and match winui3 and winu2.x, they are not compatible. If your project template is for winui3, then it already references winui3 (included with windows app sdk).

Then how do I create a WinUI 2 xaml app without win ui 3 referenced ?

Just create a UWP project in File->New project

here's a getting started: https://devblogs.microsoft.com/ifdef-windows/building-your-first-uwp-application/

@just-a-mango Just create a UWP project in File->New project

here's a getting started: https://devblogs.microsoft.com/ifdef-windows/building-your-first-uwp-application/

Oh thanks, didn't know that, will check it out!


Shift private static variables from yaml file to classes

Some variables are declared in config.yml.  Shift them into the classes so that they can be found :).  Thanks.

Thanks for approving my PR @wilr.  What happens next please?