Confidence Loss

Something seems off with the confidence loss. I've been having trouble running your Blood Cell detection notebook. The model seems to always converge not predicting any boxes as the best answer. I've tried scaling up the object scale really high to try and emphasize that boxes need to be predicting, but I'm not having much luck

Also new to git issues and where to put things, but if you'd like to make your loss work for non-square images. I believe this can fix your loss function.
cell_x = tf.to_float(tf.reshape(tf.tile(tf.range(GRID_W), [GRID_H]), (1, GRID_H, GRID_W, 1, 1)))
cell_y = tf.to_float(tf.transpose(tf.reshape(tf.tile(tf.range(GRID_H), [GRID_W]),
(1, GRID_W, GRID_H, 1, 1)), (0, 2, 1, 3, 4)))
Instead of this,
cell_x = tf.to_float(tf.reshape(tf.tile(tf.range(GRID_W), [GRID_H]), (1, GRID_H, GRID_W, 1, 1)))
cell_y = tf.transpose(cell_x, (0,2,1,3,4))
Figure I'd contribute back to the code since, I'm asking questions :P

@GitTsao So it changes the code and it stops working? Or it's not even working with the original square version?

Sorry for the delay, I was doing more investigation. I did get networks to converge now, by altering the SCALE parameters at the top and removing the divisors from the loss function. My data was pretty heavy on non-targets so I had to make some alterations.
Curious though, did you deviate from the original loss function because of experiments you ran?

@GitTsao From my experiments, I find that that the network is more stable with the divisors. Training with no divisors and Adam usually leads to NaN loss.


v2.2.0 Release

Flagged as dont-merge while performing RC testing, but this should be the final release code. Code snippets have been prepared to support all the new v2.2.0 changes.
This release focuses on deprecation of dead and old code, and preps many internal changes in regards to v3.0.0. Where possible upcoming v3.0.0 changes were backported where backward-compatibility could be maintained. This code is the same as earlier v2.2.0 branches and PRs, but cleaned up to better support the RC release.
Added

New Voice and SMS interfaces, accessible through $client->voice() and $client->sms(), respectively
Added user deprecation warnings, which can be turned on and off via the Nexmo\Client "squelch" config option. This can help devs update in preparation in v3.0.0, and will be utilized in the future as things are deprecated.
Many objects now have a toArray() serialization method, to discourage direct use of jsonSerialize()
Many objects now support a fromArray() hydration method
Better incoming webhook support for SMS and Voice events
NCCO builder for Voice

Changed

API handling code has been conglomerated in Nexmo\Client\APIResource and Nexmo\Entity\IterableAPICollection
All APIs ported over to the new API handling layer
Internal Service Locator Nexmo\Client\Factory\MapFactory is now PSR-11 compliant, and can use factories
Most Verify methods in the client now prefer string Request IDs
Verify now prefers Nexmo\Verify\Request for starting new Verification requests

Deprecated
For a detailed list of things that may impact an application, disable the squelch Nexmo\Client option to see deprecation notices for specific code flows.

Most forms of array access are now deprecated
Using service layers like $client->messages($filter) to search has been deprecated in favor of bespoke search methods
Requests/Responses on exceptions and entities are deprecated, and now exist in the service layer or collection
Most methods that took raw arrays now prefer objects
Nexmo\Verify\Verification objects full functionality has been deprecated, and will be used only as a value object for search requests in the future
Nexmo\Conversations and Nexmo\User have been deprecated and will be removed in the future as the feature is in Beta status and has diverged from this implementation
Nexmo\Voice\Call and Nexmo\Voice\Message have been deprecated and will be removed in the future as the TTS API is deprecated
SMS searching has been deprecated and will be removed in a future update

Removed

No features or classes have been removed in this update, it is functionally compatible with v2.1.0 other than deprecation notices and new features.

Fixed

No direct bugs have been fixed as this release was designed to be as compatible with v2.1.0 as possible, however:

#177 should be better handled by a centralized Nexmo\Client\Exception\ThrottleException and has been implemented in SMS and the Numbers API
#219 is implicitly fixed in Nexmo\SMS\Client::send() as it now returns a fully hydrated collection object as a response, however this needs to be updated in Laravel itself via an update to nexmo/laravel and laravel/nexmo-notification-channel
#221 is implicitly fixed in Nexmo\SMS\Client::send() as it now returns a fully hydrated collection object that is much more up-front it is not a single object
#227 is implicitly fixed in Nexmo\SMS\Webhook\InboundSMS

Security

There were no known security vulnerabilities reported

Codecov Report

Merging #230 into master will decrease coverage by 3.51%.
The diff coverage is 77.16%.

@@             Coverage Diff              @@
##             master     #230      +/-   ##
============================================
- Coverage     78.47%   74.96%   -3.52%
- Complexity     1350     2206     +856
============================================
  Files            99      161      +62
  Lines          3531     5768    +2237
============================================
+ Hits           2771     4324    +1553
- Misses          760     1444     +684

Impacted Files
Coverage Δ
Complexity Δ

src/Account/ClientFactory.php
0.00% <0.00%> (ø)
1.00 <1.00> (?)

src/Application/ClientFactory.php
0.00% <0.00%> (ø)
1.00 <1.00> (?)

src/Application/MessagesConfig.php
63.63% <0.00%> (-23.87%)
4.00 <0.00> (ø)

src/Application/RtcConfig.php
63.63% <0.00%> (-23.87%)
4.00 <0.00> (ø)

src/Conversations/Collection.php
63.38% <ø> (ø)
26.00 <0.00> (ø)

src/Conversations/Conversation.php
24.65% <ø> (ø)
25.00 <0.00> (ø)

src/Conversion/ClientFactory.php
0.00% <0.00%> (ø)
1.00 <1.00> (?)

src/Entity/CollectionTrait.php
27.02% <ø> (ø)
34.00 <0.00> (ø)

src/Entity/Filter/EmptyFilter.php
100.00% <ø> (ø)
1.00 <0.00> (?)

src/Entity/JsonSerializableTrait.php
38.46% <ø> (ø)
5.00 <0.00> (ø)

... and 181 more

Continue to review full report at Codecov.

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

How does the NCCO builder compare to what we have in other languages? Should we have an RFC for builders?

How does the NCCO builder compare to what we have in other languages? Should we have an RFC for builders?

Stop looking at my wish lists!
With this being the third NCCO builder, it did cross my mind.  This is close to what we have in Java and .NET. Actions are added to a main builder, and the result can be output as the appropriate JSON entity.
PHP
$ncco = new \Nexmo\Voice\NCCO\NCCO();
$ncco
    ->addAction(
        new \Nexmo\Voice\NCCO\Action\Talk('Welcome to the amazing Nexmo conference call')
    )
    ->addAction(
        new \Nexmo\Voice\NCCO\Action\Conversation('amazing-conference-call')
    )
;

header('Content-Type: application/json');
$json = json_encode($ncco);
echo($json);

.NET
var talkAction = new TalkAction() { Text = "Please wait while we connect you to the conference" };
var conversationAction = new ConversationAction() { Name = CONF_NAME };
var ncco = new Ncco(talkAction, conversationAction);
return ncco.ToString();

Java
TalkAction intro = TalkAction.builder("Please wait while we connect you to the conference.").build();
ConversationAction conversation = ConversationAction.builder(CONF_NAME).build();
res.type("application/json");
return new Ncco(intro, conversation).toJson();

Just noting here from the test I ran as part of "The Late Night Build" hackathon:

Only issues presented with the code snippets was with SMS sending, BRAND_NAME throws US people off because it isn't clear you have to use a telephone number
Incoming webhook parser for SMS only encountered a problem due to ngrok configuration
Actual voice calls and SMS portions worked fine

For anyone watching this thread, I'll be pulling the trigger and merging 2020-07-28 in the afternoon.


Turn Node Debug on/off (call V8 API)

Note that node has both a legacy (and soon to disappear) "debug" protocol (JSON over TCP, node --debug), and a newer "inspect" protocol (JSON over websockets, node --inspect).
Its the inspect protocol that should be turned on, its what can be used with current Chrome browsers (the TCP protocol has been deleted for a while, and will be gone from node in 8.x, likely).

There is no V8 API for turning debug on and off dynamically. Users are expected to end their Node process and restart it with the --debug or --inspect flags stated above. It might be possible to hook into Node's code that deals with these flags and manipulate them from there, but that is at the C source code level and would take more time than is available (I would probably write my own NPM module to do it!) I'm taking this issue out of scope for the current milestone.

I'm in process of making (or finding) a node (js or c++) API for turning inspector on/off, finding its UUID, etc.

@sam-github feel free to reopen

@sjanuary I don't have that power, but feel free to give it to me! ;-)
Merged to master: https://github.com/nodejs/node/pull/13228
Also, I found a legacy process._debugBegin(pid) which can be called on your own pid to turn debugging on, but has the downside that there is no way to know what the PORT is (hopefully its the default, but that is not guaranteed).


Revert "Restrict URL preparation to HTTP/HTTPS"

This reverts commit 34af72c87d79bd8852e8564c050dd7711c6a08d6.
This commit was added by @tiran to try to avoid the IDNA-encoding logic that we added in v2.12.0. I believe that the other workarounds we merged for that are sufficient, and this change broke docker-py and probably broke others.
@tiran, can you confirm that your code continues to function with this change reverted? I'd like to be able to merge this and ship a v2.12.3 if at all possible.
Resolves #3735.

@Lukasa, I think it would be beneficial readding the test after this reversion. It still provides a useful check going forward and will pass regardless of the tightened scheme check.

Heh, I just noticed that that test never actually tested the relevant function.

I lost 6 hours of my day troubleshooting this bug 😨 🔫

@Lukasa sorry for being a hound but do you have an eta on this 2.12.3 release? We just lost a day of dev / test trying to figure out what broke docker-py until we found this. Thx

MS

@mshahpalerra just pin your requests dep to an older  2.11.x version and you'll be ok. @Lukasa please update requests ASAP or this will be another left-pad.

@marcosnils  - already being done but that has some other complications as we are changing this pinning on code that is pre prod so has to be retested (not your problem i know :) ) - thanks for the tip

@marcosnils Well that's a ludicrously hyperbolic thing to say.
The left-pad incident broke all users of the package. This breaks docker-py, and docker-py only. The vast majority of our users have not noticed a problem with v2.12.2. There are several bug reports both here and on docker-py, there is a good temporary workaround, so if it's all the same to you I'm going to take long enough over this to get it right.
It is much more important to me that we don't keep rushing out v2.12.x releases that require further panicked fixes than it is that we make it possible for you to avoid placing pins in your dependency tree. In this case, the patch that we're reverting was added for a reason, and I'd like to ensure that that reason is still covered rather than re-break someone else.

@mshahpalerra As to the ETA of v2.12.3, it will be as soon as I can get confirmation from @tiran that the problem he was originally trying to fix is still fixed in this branch. If it isn't, then it will be as soon as I can work with him to build a new patch that avoids this specific issue.

ACK
Custodia's test suite for my http+unix adapter is passing with @Lukasa 's branch.

Ok, let's ship a 2.12.3 then. Thanks @tiran!

Custodia's test suite for my http+unix adapter is passing with @Lukasa 's branch.

I it really amazing that http+unix t will work with python-requests-3.0. Unfortunately, python-requests-3.0 has not been released yet. But 2.12.3 is released and already in some distributions: fedora-26 and debian unstable and might get to debian testing in few days.
2.12.0 introduced IDNA-encoding logic which broke http+unix:// 2.12.3 with this patch reverted the fix due to #3735 but did not provide any alternative solution. And therefore http+unix:// is broken again.
Is there a reason why cannot be fixed in 2.12.* as well?

@Islebodn could you provide an example http+unix:// URI/filepath that you're having issues with in 2.12.3? This should be fixed even without #3713 but perhaps we missed something.

Correct, this should be fixed in 2.12.4.

@Islebodn could you provide an example http+unix:// URI/filepath that you're having issues with in 2.12.3? This should be fixed even without #3713 but perhaps we missed something.
Correct, this should be fixed in 2.12.4.
Thank you very much for fast response. i really appreciate it.

I did some tests with more version of pyhton-requests and I found out that 2.12.3 and 2.14.1 does not work well with upper case letters in path. The url is
>>> from requests.compat import quote
>>> sock_path ='/tmp/UPPER/testing.socket'
>>> url = 'http+unix://' + quote(sock_path, safe='')
>>> print url
http+unix://%2Ftmp%2FUPPER%2Ftesting.socket

>>> import requests
>>> r = requests.Request('GET', url=url)
>>> p = r.prepare()
>>> p.url
'http+unix://%2ftmp%2fupper%2ftesting.socket/'

I've just tested and upper case letters works well in such situation with 2.10.0 and 2.11.1

Hmm, so you're right. This is an issue in that this path will pass through IDNA without throwing an exception, but IDNA is forcing it to lowercase. This is valid behaviour for a hostname which should be case insensitive but doesn't work for paths (which really shouldn't be IDNA encoded in the first place). This is a bug, but the way unix sockets have worked in the past is kind of incorrect too. It supplies a path in place of the hostname we're expecting.
I don't have an immediate solution for this other than suggesting you store the socket file in a lower-cased path. We'll have to wait for @Lukasa's opinion on this and I'll take a deeper dive if it's deemed needed.

Hmm, so you're right. This is an issue in that this path will pass through IDNA without throwing an exception, but IDNA is forcing it to lowercase.
This is valid behaviour for a hostname which should be case insensitive

Agree; that's the reason why reverted patch tried to use IDNA only with http:// and https://

but doesn't work for paths (which really shouldn't be IDNA encoded in the first place). This is a bug, but the way unix sockets have worked in the past is kind of incorrect too. It supplies a path in place of the hostname we're expecting.

I am not sure whether it's incorrect. it is an URI with different protocol then http. The similar use case is with different protocols: ldap, ldaps which expect hostname/IP and ldapi which expect url encoded path to unix socket  e.g. http://www.openldap.org/lists/openldap-devel/200201/msg00231.html
http://www.openldap.org/doc/admin24/runningslapd.html

So, I did some more investigating and this actually is completely unrelated to IDNA.
shazow/urllib3#911 introduced a forced lowercasing of all host names in urllib3 which was released in urllib3 1.17. The version of urllib3 used in Requests prior to 2.12.0 was 1.16 which is why we hadn't hit this before. urllib3's behaviour here is completely correct because host names should be able to be lowercased without affecting the URIs usability.
As I said above, passing a path has worked in the past but is technically not in line with how we're parsing the URI. Again, I think we'll have to wait for @Lukasa to weigh in here.

urllib3's behaviour here is completely correct because host names should be able to be lowercased without affecting the URIs usability.

Right.

As I said above, passing a path has worked in the past but is technically not in line with how we're parsing the URI. Again, I think we'll have to wait for @Lukasa to weigh in here.

Since there is no specification around UNIX socket URIs, I would think we'd treat that as a path, not a hostname. shrug

Since there is no specification around UNIX socket URIs, I would think we'd treat that as a path, not a hostname. shrug

Agreed, that's seems like the sensible thing to do if Requests is going to properly support unix sockets. We'd need to expand both how urllib3 parses URIs, and our flow in prepare_url, rather than relying on our current workarounds. That approach would fix a lot of the IDNA issues at their core too, because our primary conflict has been passing non-hostnames (IPs and paths) into the encoder. Maybe something to consider in 3.0.0.

Hrm. This is not ideal. However, it's further evidence that Requests is really ill suited to handling these use-cases. It makes an enormous number of assumptions about URL structure that are simply not reasonable.
I have no interest in expanding urllib3's notion of a URL to encompass this use-case. I would, however, be willing to add an extension to allow its URL case normalisation to apply only to specific schemes.

So I have an issue ready to throw up on urllib3 to catalog this appropriately, but have another question to throw out there before we start down the scheme specific normalization route.
Storing something in the form /tmp/path/out.socket as the host and not path of the URI seems off. The authority component (our host variable) isn't required in the URI, so wouldn't it be more correct to detect a URI without a host and store the value in the path variable? I realize that we're adhering to the URL subset of URIs here, but can't find anything specific on whether the authority requirement differs. Moving to using path would allow us to avoid this dance around values in the host param that aren't actually hosts.

@nateprewitt I don't think we do store /tmp/path/out.socket as the host. I think we only store it if its urlencoded when we receive it, which seems more reasonable to me. Though admittedly I'm not the URI expert (that'd be @sigmavirus24).

@Lukasa, you're right, I was conflating behaviours in my explanation. %-encoding the path is a hack around prepare_url because Requests refuses URLs without a host at the model level, rather than adapter. The host is mandated for http/https schemes but becomes a grey area with the use of "http+".
If we want to support "http+{unix,docker,???}", which seems poorly defined but in use, we'd probably need to relax the hard stop at no host until we get to the adapter. This would allow someone to pass /tmp/path/out.socket and we can treat it correctly as a path, without needing a work around.  Then we can avoid modifying correctly functioning code to accommodate the hack. If we don't intend to support "http+" in 3.0.0 then this is probably a moot point.

The % encoding of the path to the Unix socket file or abstract namespace is mandatory. How else would you distinguish between the file path and the HTTP path? Some implementations probe ever path segment until a socket file is found and then magically treat the remaining path segments as HTTP path. That's a dangerous hack. The socket path may include non-ASCII chars or a NULL byte for abstract namespace.
Am 23. Dezember 2016 17:45:25 MEZ, schrieb Nate Prewitt<EMAIL_ADDRESS>
@Lukasa, you're right, I was conflating behaviours in my explanation.
%-encoding the path is a hack around prepare_url because Requests
refuses URLs without a host at the model level, rather than adapter.
The host is mandated for http/https schemes but becomes a grey area
with the use of "http+".
If we want to support "http+{unix,docker,???}", which seems poorly
defined but in use, we'd probably need to relax the hard stop at no
host until we get to the adapter. This would allow someone to pass
/tmp/path/out.socket and we can treat it correctly as a path, without
needing a work around.  Then we can avoid modifying correctly
functioning code to accommodate the hack. If we don't intend to support
"http+" in 3.0.0 then this is probably a moot point.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/kennethreitz/requests/pull/3738#issuecomment-269016139

Sent from my Android phone with K-9 Mail.

@tiran thanks, for clarifying! I'll defer to those of you that are much more well versed in this space than I am :)
I'll open the issue in urllib3 with Lukasa's originally suggested fix.

One has to suffer a lot before one knows all pain points. :)
Sent from my Android phone with K-9 Mail.

and a little bit broken python-requests 1.12.4 got to the debian testing
https://packages.debian.org/search?suite=stretch&searchon=names&keywords=python-requests
https://packages.debian.org/stretch/python-requests


Epic Hub Changes Tracking Branch. Do Not Merge.

Codecov Report

Merging #1905 (c1dc533) into develop (d2304f7) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head c1dc533 differs from pull request most recent head 76870a2. Consider uploading reports for the commit 76870a2 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff            @@
##           develop    #1905   +/-   ##
========================================
  Coverage    70.46%   70.46%
========================================
  Files           99       99
  Lines         4981     4981
  Branches       954      954
========================================
  Hits          3510     3510
  Misses        1444     1444
  Partials        27       27

see 1 file with indirect coverage changes

Keeps failing autorun test though. Not sure about this, the epic branch passed fine.


Navigation Component

When I add a navigation component in the View Builder I get a list of collections and I cannot customize it to display navigation slots.

This is for the admin view of collections and can be removed.


Cannot assign requested address

I ran a set of 50,000 jobs yesterday and they all appear to have completed successfully. However, the dsub tool (which I ran from the cloud shell) yielded the following error at the end. Again, this doesn't seem to have impacted the run, but I haven't seen this error reported so I wanted to mention it.
Waiting for job to complete...
2019-05-06 02:17:10.824555: Exception error: [Errno 99] Cannot assign requested address
Traceback (most recent call last):
  File "/home/jamesp/dsub/dsub_libs/bin/dsub", line 11, in <module>
    load_entry_point('dsub==0.3.1', 'console_scripts', 'dsub')()
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/commands/dsub.py", line 956, in main
    dsub_main(prog, argv)
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/commands/dsub.py", line 945, in dsub_main
    launched_job = run_main(args)
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/commands/dsub.py", line 1028, in run_main
    unique_job_id=args.unique_job_id)
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/commands/dsub.py", line 1141, in run
    poll_interval, retries, job_descriptor)
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/commands/dsub.py", line 739, in _wait_and_retry
    for t in tasks:
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/providers/google_v2.py", line 1124, in lookup_job_tasks
    page_size, page_token)
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/providers/google_v2.py", line 1058, in _operations_list
    response = google_base.Api.execute(api)
  File "build/bdist.linux-x86_64/egg/retrying.py", line 49, in wrapped_f
  File "build/bdist.linux-x86_64/egg/retrying.py", line 206, in call
  File "build/bdist.linux-x86_64/egg/retrying.py", line 247, in get
  File "build/bdist.linux-x86_64/egg/retrying.py", line 200, in call
  File "build/bdist.linux-x86_64/egg/retrying.py", line 49, in wrapped_f
  File "build/bdist.linux-x86_64/egg/retrying.py", line 206, in call
  File "build/bdist.linux-x86_64/egg/retrying.py", line 247, in get
  File "build/bdist.linux-x86_64/egg/retrying.py", line 200, in call
  File "/home/jamesp/dsub/dsub_libs/local/lib/python2.7/site-packages/dsub-0.3.1-py2.7.egg/dsub/providers/google_base.py", line 593, in execute
    raise exception
socket.error: [Errno 99] Cannot assign requested address

dsub is 0.3.1:
$ dsub --version
dsub version: 0.3.1

Thanks for reporting, @carbocation.
We could add error 99 to the list of TRANSIENT_SOCKET_ERROR_CODES that are retried, although I'm at a loss to come up with a scenario in which this error would be generated transiently.
By any chance, does the time of the error (2019-05-06 02:17:10) coincide with the job finishing or anything else you can point to?
Thanks!

The final jobs were launched at 2019-05-06 02:00:00 according to the pipelines tab, so 2:17 is pretty close to the right time to finish. (I wasn't actively monitoring at that time.)
I actually now see that four of the jobs launched between 01:59:00 and 02:00:00 actually failed. (I was wrong in my initial review, when I thought that all jobs succeeded.)
Thanks to the tagging and logging that dsub does, I am able to look for the logs for these specific jobs - interestingly, none of those four jobs has any logfile whatsoever. I don't know if that absence of log information is of any use. I can also tell you that there were no VMs left up and running by the time of this crash.


[RFC] CC-KBC proposal

We need a KBC that matches the Confidential Containers KBS and the Attestation-Service. This KBC will be maintained as the standard KBC of the Confidential Containers community.
Requirements

Comply with the existing KBC code framework of Attestation-Agent.
Implement the API set of the current Attestation-Agent, including requesting a key or decrypting content from KBS, and requesting to download confidential resources from KBS. Connecting and communicating with KBS with the attestation protocol defined by KBS.
Support multi platform HW-TEE evidence acquisition
Support the evidence message format defined in the Attestation-Service, and be able to obtain or generate the content of each field therein.

KBS attestation protocol
The protocol used by CC-KBC to request KBS follows the requirements and descriptions in the KBS attestation protocol document, uses HTTPS protocol to request KBS's restful API, and then executes the "Request-Challenge-Attestation-Response" process defined in the KBS attestation protocol document in the HTTPS data payload.
Please refer to the KBS attestation protocol document for the specific message format content and more detailed description information of this part.
Evicence message
According to the requirements of the "Request-Challenge-Attestation-Response" process defined in the KBS attestation protocol document, CC-KBC needs to collect the platform attestation evidence after receiving the Challenge, then send it to KBS, and KBS forwards it to the Attestation-Service for verification. The payload message format is as follows:
{
    "evidence": {
		"nonce": "",
		"tee": "",
	    "tee-pubkey": {
		    "algorithm": "",
		    "pubkey-length": "",
		    "pubkey": ""
		},
	    "tee-evidence": {}
	}
}

The tee-evidence field in the message is specific to the HW-TEE platform and contains Quote signed by HW-TEE and some special evidence materials. The tee-evidence content and format of different HW-TEE platforms will be defined by the Attestation-Service.
HW-TEE evidence
CC-KBC cannot be platform specific. It should have the ability to support multiple HW-TEE platforms. This requires CC-KBC to collect Quote signed by HW-TEE and some special evidence materials (hereinafter referred to as attestation evidence) on different HW-TEE hardware platforms. At present, we has two options to support multi platform evidence acquisition:
Option 1
CC-KBC develops driver modules that support different HW-TEE evidence acquisition, and defines a unified trait to call:
pub trait Attester {
  fn dump_tee_evidence(custom_data: Vec<u8>) -> Result<Box<dyn TeeEvidence>>
}

Where parameter custom_data is additional data that needs to be embedded in the quote and protected by HW-TEE signature. It is usually the hash of nonce and TEE public key in the challenge: Hash(nonce || pubkey). In the future, there may be more information that needs to be protected by HW-TEE signature, so it is extended in the following form: Hash(nonce || pubkey || other_info). For the meaning and use of nonce and TEE public key, please refer to KBS attestation protocol document.
The return value is of type Box<dyn TeeEvidence>. As mentioned above, different HW-TEE will have different tee-evidence structures defined by Attestation-Service. Therefore, the trait object is used as the return value here. This return value will be used as the content of the tee-evidence field in the Evidence message sent to KBS.
Option 2
CC-KBC calls the API provided by the librats tool, directly obtains the quote of the corresponding HW-TEE platform, and then packages it in the KBS protocol's Evidence message format.
@YangLiang3  may give more details about the librats tool.
The advantage of this scheme is that CC-KBC no longer needs to implement HW-TEE specific code, because librats itself supports multiple HW-TEE platforms, and CC-KBC can only focus on the general functional application level. However, we may need to install .so dependencies of librats in the running environment of AA in advance.

I think I would prefer option 1.

@fitzthum  OK, using option 1 is indeed a more flexible and open solution. What do you think if we call the API provided by the librats tool in the attester module of TDX and SGX under the option 1 to obtain evidence? The attester module of SEV or other HW-TEE can be implemented directly using rust without relying on librats.

Option 1 seems to have more flexibilty .

@fitzthum OK, using option 1 is indeed a more flexible and open solution. What do you think if we have a rust crate librats-rs, then import this crate in the attester module of TDX and SGX under the option 1, and call the APIs
provided by librats.so through librats-rs for TDX and SGX evidence acquisition? The attester module of SEV or other HW-TEE can be implemented directly using rust without relying on librats.

That seems fine. Ideally maybe it will all be Rust someday but this seems reasonable.

@jialez0 is this issue still relevant or can be closed?
If it's still relevant to what release do you think we should map it to (mid-November, end-December, mid-February etc...)?


how to set the localhost path in featute_extraction.py file in windows 10?

If you have xampp installed, your localhost path should be - C:\xampp\htdocs. If you don't you would have to install it, as there is no default local server for Windows.
Closing the issue. Please reopen if you have any other doubts.

How do i set locahost_path in feature_extraction.py file in Ubuntu


[WIP] Quick and dirty upgrade to latest upstream crates

This is a quick-and-dirty upgrade to the latest versions of the upstream crates. It depends on this pull request for lpc82x. This is just the fastest possible way I could make the changes work and not representative of what the real port will look like.
These changes are completely untested. Also, the example in the documentation no longer compiles for some reason. I have decided those are problems for another day (most likely the day I'm doing the port for real).
@Samonitari I hope this is enough to get you started with lpc82x-hal. Let me know if there's anything you need help with.

Closing in favor of #63, which has just been merged.


Automatic handling of deprecated values

Currently libconfuse has the option to deprecate config options and also to automatically drop deprecated config options. For deprecated config options that are not flagged to be dropped a warning is printed. For use cases where the user manually edits a config file this is fine, but for use cases where we want to perform automatic migration of deprecated values this is not enough.
I think it would be nice if we had the ability to add a deprecation callback handler in libconfuse which can notify the application of deprecated values in the configuration file. This would give the application a change to migrate these values automatically. The way I imagine this would be as following:

We add the CFGF_DEPRECATED to some existing but now obsolete config option, like this:
CFG_BOOL("super_cow_power", FALSE, CFGF_DEPRECATED),
CFG_BOOL("unicorn_power", TRUE, CFGF_NONE) /* use this instead */

We define a deprecation handler callback function type that can be implemented by the application. It gets passed the config pointer, the option_name of the deprecated option and an optional user_data pointer as arguments:
typedef (int) (*DeprecationHandlerFunc) (cfg_t *config,
                                         const char *option_name,
                                         void *user_data);

The deprecationFunc gets called for each deprecated value that remains in the config file. The app can handle the deprecated value and migrate it to some other option. By returning TRUE or FALSE from the deprecation function the app can indicate if the value was correctly migrated. If TRUE is returned no warning should be logged for the deprecated option, otherwise a warning will be logged (current behavior).
int config_deprecation_handler (const char *option_name) {
    // load the config value from the config object and handle it
    if (migration_successful) {
       return TRUE; // migration successful
    } else {
        return FALSE;
    }
}

If additionally the flag CFGF_DROP is specified and the deprecation handler returned TRUE, then the option is automatically removed.

When we call cfg_parse, we pass additional parameters with the deprecation_handler function and the user_data as callback:
int result = cfg_parse (tc, config_file, deprecation_handler,
                        deprecation_user_data);

Please let me know what I think. Maybe I missed something, or if if this is already possible in libconfuse then it would be nice to know how.

Any progress on this?

I don't have any time to work on this at the moment.

@lanoxx Fully understandable, just curious, take care! :)

I have been using the new CFGF_MODIFIED flag to accomplish option migration. Something like this:
	cfg_opt_t *dusty = cfg_getopt(cfg, "super_cow_power");
	cfg_opt_t *shiny = cfg_getopt(cfg, "unicorn_power");
	if (!dusty || !shiny)
		bugme();
	if (!(shiny->flags & CFGF_MODIFIED) && (dusty->flags & CFGF_MODIFIED))
		cfg_opt_setnbool(shiny, !cfg_opt_getnbool(dusty, 0), 0);

It would be nice to be able to follow that up with
cfg_rmopt(cfg, "super_cow_power");
but that api does not exist.

@peda-r Hey, that's a great idea!

If you are referring to the cfg_rmopt() part, then remove is pretty easy to do for "normal" options (I have a local patch). It gets difficult if you want to remove something that is below a multi-section that is possibly "instantiated" multiple times. You would have to walk the whole cfg-tree for that, which fits poorly with the style of rest of the api as most things (all?) are able to treat a subtree as an independent thing. It also gets a bit difficult with naming. Should cfg_rmopt(cfg, "multi=3|subopt"); be illegal or should it do the same as cfg_rmopt(cfg, "multi|subopt"); (which I think is the only sane notation).
I don't want to think about what can go wrong if the instantiated options in cfg_opt_t->values do not match the template options in cfg_opt_t->subopts, which is inevitably what is going to happen if cfg_rmopt() is used incorrectly with a subtree as base (and therefore not being able to walk the whole tree).


My article about your package

Hi,
I found your package quite useful and pretty neat. I may contribute to it later with ideas and suggestions for enhancement.
For now, I have written an article about it and it has gained traction pretty fast.
Check out the article here.

@tirthajyoti, this is awesome! Actually a friend shared it with me yesterday, and I just finished going through it. Great stuff, man. I'm so happy you found this little thing useful. Contributions are more than welcomed. :)
Like I mentioned in my comment to the article, I'd love it if you be willing to link to the project repository itself a few times over the course of the article, so more people get here, perhaps star the repo and see the documentation. I think this can help it spread, which my drive contributions and make it even better! :)
Cheers,
Shay

I linked this Repo on all the places the word pdpipe is mentioned in the article.
Please feel free to give a link to my article in your Readme or anywhere you like.

Thanks! Will do!

Can I get a friends link, so I'm sure anyone who wants to rely on this as a tutorial can indeed read your article?

Instead of Medium article, I can create a Markdown and either host it on my Github.io or in the project itself. Give me a few days for that.

Sounds good! :)

Hey @tirthajyoti
I've added the RowDrop stage to pdpipe in the latest release, v0.0.33, which can solve one of the more complex operations in your blog post in a single pipeline stage. Instead of three stages, you can remove all rows for which the price is smaller or equal to 250000 by using the following stage:
pdp.RowDrop({'Price': lambda x: x <= 250000})
If you don't mind, I'd love for you to update the blog post, so the cleaner solution is presented.
Thanks!
Shay

OK, @shaypal5 I will test it in my Notebook and add as an update to my article.
I have been out this whole week on business travel, so will get to it next week.

Cool! Waiting for an update...

Hey @shaypal5 , I updated the article on Medium and also created the Free Markdown version so that users can refer there. It is hosted on my Github.io page and here is the link.

Thanks, man! :)
Can I bother you again? I've created a simple homepage for the package:
https://pdpipe.github.io/pdpipe/
Would you mind updating the links in the article to point to the homepage instead of the repository? I think it's way more friendly to newcomers.

Also, the hyperlink on my name doesn't work, and I'd love it to point to my personal website anyway, is possible. Thanks!
(My personal address: http://www.shaypalachy.com/)

Updated these links now.

Thanks :)


Question: Prefix for types of internal tables

We had numerous PRs in which the object type owner specified their type with the prefix TT_ instead of TY_?
Shall we allow also TT_ or shall we stick to TY_ only? Any opinion?

I discussed the question with the team today. We would like to stick to TY_ prefixes only and use plurals for tables/lists


Update docstrings for LTI class constructors

This PR addresses the documentation issues raised in PR #163 related to how the StateSpace, TransferFunction, and FRD constructors are documented.  In this PR, the first line of the docstring is modified for the each of the above classes, as well as their init methods and the corresponding ss, tf, and frd functions to have the most common call signature.
This PR leaves in place the copy constructor functionality and only modifies the documentation.
While I was at it, I also fixed some indentation problems and other issues that were causing warnings in sphinx.

Added more information to main documentation on class constructors + updated docstrings for other functions with variable arguments.  The justification for including them in this PR is that they are consistent with the initial changes and the comments in PR #163.

Good feedback @roryyorke.  Small updates pushed to address these.


Output tensors to a Model must be the output of a Keras Layer

Please make sure that this is a Bug or a Feature Request and provide all applicable information asked by the template.
If your issue is an implementation question, please ask your question on StackOverflow or on the Keras Slack channel instead of opening a GitHub issue.
System information

Have I written custom code (as opposed to using example directory):   yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Linux Ubuntu 18.04
TensorFlow backend (yes / no):  yes
TensorFlow version:  tf 1.13.1
Keras version:  2.2.4
Python version:  3.7
CUDA/cuDNN version:  10.1/7.5 [ nvidia-smi says CUDA Version: 10.2 ]
GPU model and memory:  RTX2070, 8 gb

You can obtain the TensorFlow version with:
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
You can obtain the Keras version with:
python -c 'import keras as k; print(k.version)'
Describe the current behavior
Error : ValueError: Output tensors to a Model must be the output of a Keras Layer (thus holding past layer metadata). Found: Tensor("truediv:0", shape=(?, 2048, 1024, 128), dtype=float32)
I see that after adding activation layers at various segments of my model, layer drops 2 attributes _keras_history and _keras_shape.
Currently, the model isn't compiling as my architecture has an activation layer at the end applied after computing logits.
Note: The same code works perfectly fine with tf.keras and tf 2.0 alpha
I'm compiling the model with with the output layer activated by softmax.
Describe the expected behavior
model should compile.
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
x = keras.activations.relu(x)
ff_layer2 = keras.layers.DepthwiseConv2D(128, strides=(1, 1), depth_multiplier=1, padding='same')(x)
classifier = keras.activations.softmax(ff_layer2)
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Maybe this does work?
from keras.layers.advanced_activations import Softmax
classifier = Softmax()(ff_layer2)

Hi!
This issue isn't related to a bug/enhancement/feature request or other accepted types of issue.
To ask questions, please see the following resources :
StackOverflow
Keras Slack channel
Keras.io support
Gitter
Thanks!

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


[QUESTION]

Is Learning Pathways no longer supported by the SP Provisioning service? I noticed today that Learning Pathways was not on the SharePoint Lookbook Provisioning service site. I know it was there Friday as shared the link with a customer. Today when going there to show them how, it was missing. Please advise.

@Matt-Mueller-MSFT let me talk with the team that manages the lookbook and get back to you. Thanks for bringing this up.

There was an unplanned issue with the synchronization in the LookBook that caused Learning Pathways to show up. The issue has been resolved. Thank you for reporting it.


Fill in service registration for HttpContextAccessor

Or throw a descriptive exception if it doesn't exist. Alba has to have it, so get it there

Currently being added here.
https://github.com/JasperFx/alba/blob/master/src/Alba/SystemUnderTest.cs#L121

Yeah, but that doesn't get called if you build the WebHost directly by overriding that method:(

Meh, really handled this by ignoring it if the HttpContextAccessor isn't there.


which plugin cause this error?

I use ts to develop, and my project is like this:
- workspace
  - project A
  - project B

I enter workspace and run nvim to open editor,  my tsconfig.json is in every project dir.

Do you have minimum project for me to test?

I am confusing, what is your problem?

Your lsp can't find out tsconfig?
Your workspace is polluted by tsconfig?

I think this is caused by the rooter, but can't figure out the problem.
if I run nvim in project A dir, then no error reported.

Rooter will change root path by finding the root pattern. Like it will try to cd in the directory with .git, or directory with go.mod...etc. I have a question that is, how the tsconfig work? Should it be as the root directory pattern?

Should it be as the root directory pattern

Yes, it should be.

I tried to add it to the patterns, but seems no effect

E492: Not an editor command: LuaCacheClean

Sorry, it is LuaCacheClear

still have this error

Can you give me a minimum project to test this?

do u have node installed ?

Yes

Oh, can u use nestjs to new a empty project?
https://docs.nestjs.com/cli/usages
mkdir test-ts
cd test-ts
nest new foo

and then nvim,

Can you run tree command in your workspace directory?  Everything is working well in my environment. I am using TSserver as LSP, and no error reported.

I both install tsserver and eslint lsp server, and after I uninstall eslint lsp server, the error fixed.

The rooter issue is fixed. But I don't think this error is related to the rooter. It might related duplicate lsp server. I don't met this error when I am using eslint only.

ok, thanks very much~


webui slash (/) instead of colon (:) after IP address

The webui has an extra slash before the port number (http://<IP_ADDRESS>/5800), ending in a '404 not found' error. I'm using unraid and my code is below.
Thanks!
version: "3"
services:
1U:
image: ghcr.io/mistercalvin/supermicro-java-ikvm:latest
container_name: 1U
environment:
TZ: UTC
USER_ID: 1000
GROUP_ID: 1000
KVM_HOST: <IP_ADDRESS>
KVM_USER: ADMIN
KVM_PASS: ADMIN
DISPLAY_WIDTH: 1024 # Display Width
DISPLAY_HEIGHT: 768 # Display Height
ports:
- "5800:5800" # Web UI Port
- "5900:5900" # VNC Port
networks:
- anjo
volumes:
- /mnt/user/isos:/app/vmedia/ # Virtual Media ISO's
- /mnt/user/appdata/1U-ipmi/screenshots:/app/screenshots/ # Screenshots / Recordings
- 1U:/config/ # Persistent Configuration for user preferences
restart: no
volumes:
1U:
name: 1U
networks:
anjo:
driver: bridge

Have you tried removing the slash and adding a colon? Try accessing the container's address and port in an Incognito / Private Browsing window to ensure this isn't cache related:
http://<IP_ADDRESS>:5800


Add LGTM code quality badges

Hi there!
I thought you might be interested in adding these LGTM code quality badges to your project, to show how you care about code quality and encourage contributors to do the same.
To get an idea of the analyses reflected by these grades, check the alerts discovered by LGTM.
N.B.: I am on the team behind LGTM.com, I'd appreciate your feedback on this initiative, whether you're interested or not, if you find time to drop me a line. Thanks.

Hi @supnate
Happy you found it useful.
Some precisions:

Our recommended usage is to integrate LGTM with your pull requests. LGTM will immediately analhyse your PRs and report any new problem or fix directly in the PR comments. This is a free and one-click operation
Otherwise LGTM will poll your repo once a day and analyse all commits, most recent first
Suggestions and feedback are welcome here

Cheers


Cooldowns Not Working

Cooldown's don't seem to work, the entire cooldown listener doesn't seem to get fired at all.

It appears that I was testing the cooldowns with my account which wouldn't cause the listener to fire.

It appears that I was testing the cooldowns with my account which wouldn't cause the listener to fire.


Adding handshake

Hi there,
Ratchet had been working perfectly for me in the past. Gave it a shot again, but I noticed that the ws wasn't connecting. Apparently some browsers now require a handshake. This is important for the ws to get the connected state.
Below is quick but tested handshake code. I suggest to add a better version of this into the core of Ratchet:
    public function onMessage(ConnectionInterface $connection, $message)
    {
        $client = $connection->client;

        if (true !== $connection->httpHeadersReceived) {
            try {
                if (null === ($request = $this->_reqParser->onMessage($connection, $message))) {
                    return;
                }
            } catch (\OverflowException $oe) {
                return $this->close($connection, 413);
            }
        }

        $connection->httpHeadersReceived = true;

        $this->handshake(
            $request,
            $connection
        );

        $client->onMessage($connection, $message);
    }

    private function handshake(
        RequestInterface $request,
        ConnectionInterface $connection
    ) {
        $key = $request->getHeader('sec-websocket-key')[0] ?? null;
        $version = (int) $request->getHeader('sec-websocket-version')[0] ?? null;
        $upgrade = $request->getHeader('upgrade')[0] ?? null;

        if (
            $request->getMethod() !== 'GET'
            || \strtolower($upgrade) !== self::WS
            || ! $key
            || ! preg_match(self::KEY_REGEX, $key)
            || ($version !== 8 && $version !== 13)
        ) {
            return $this->abortHandshake($connection, 400);
        }

        $digest = base64_encode(pack('H*', sha1($key . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11')));
        $headers = [
            'Upgrade' => 'websocket',
            'Connection' => 'Upgrade',
            'Sec-WebSocket-Accept' => $digest
        ];

        $message = Http::STATUS_CODES[101];
        $data = "HTTP/1.1 101 {$message}";
        foreach ($headers as $h => $header) {
            $data .= "\r\n{$h}: {$header}";
        }
        $data .= "\r\n\r\n";

        $connection->send($data);
    }

    private function abortHandshake(
        ConnectionInterface $connection,
        int $code,
        ?string $message = null,
        array $headers = []
    ) {
        $message = $message ?? Http::STATUS_CODES[400];
        $headers = \array_merge(
            [
                'Connection' => 'close',
                'Content-Type' => 'text/html',
                'Content-Length' => strlen($message)
            ],
            $headers
        );

        $data = "HTTP/1.1 400 {$message}";
        foreach ($headers as $h => $header) {
            $data .= "\r\n{$h}: {$header}";
        }
        $data .= "\r\n";

        $connection->send($data);
        $connection->close();
    }

This code sets the right 101 headers with the right Accept header. It does not account for any secure server connection whatsoever. The implementation example I used is from: https://github.com/bloatless/php-websocket/blob/3a1cecc8ddfeeb86eda9a08ddd10b413009ac48c/src/Connection.php#L79

Hi @factormaarten
This is a standard part of the WebSocket spec. This is handled in this project with the ratchet/RFC6455 library here: https://github.com/ratchetphp/RFC6455/blob/7610659ff10cb15fd9946407b1c8d4e3f937eb76/src/Handshake/ServerNegotiator.php#L55
Do you mind sharing the server code you are using?

@mbonneau Hmm, it's strange it doesn't pick it up then.
I'm initiating the websocket using:
$io = \Ratchet\Server\IoServer::factory(
    new \App\GraphQL\Subscription\SubscriptionSocket(),
    getenv('APP_SOCKET_PORT'),
    '<IP_ADDRESS>'
);
$io->run();

You're missing the WsServer component. It handles the WebSocket handshake and messaging.


QR Code sharing functionality not working

Hey! So this QR Code thing was working just fine few days ago, but looks like it is not working now. I get this page ( picture attached ) when I try to share using QR codes.

Are you able to share the content/link that wasn't working?

e.g., http://qrcode.bitty.site/


openmm_neuraminidase notebook (ASE examples) does not make it clear that the dynamics are not read from xml

We need to make it clearer that the dynamics are not read back in from the xml created in this notebook, but are separately set in the ASE section. Would be good to make this clearer in the comments.

Closed by #274


Model JSON storage

JSON serialisation for Variable, Constraint, Objective and Model
json_obj = model.to_json()
model_copy = Model.from_json(json_obj)

[Current coverage][cc-pull] is 85.45% (diff: 28.20%)

Merging [#21][cc-pull] into [devel][cc-base-branch] will decrease coverage by 1.28%

@@              devel        #21   diff @@
==========================================
  Files             5          5
  Lines          1735       1774    +39
  Methods           0          0
  Messages          0          0
  Branches        368        374     +6
==========================================
+ Hits           1505       1516    +11
- Misses          151        178    +27
- Partials         79         80     +1

Powered by Codecov. Last update [ae74974...6a11c38][cc-compare]
[cc-base-branch]: https://codecov.io/gh/biosustain/optlang/branch/devel?src=pr
[cc-compare]: https://codecov.io/gh/biosustain/optlang/compare/ae74974c1876610f69a99819b81b1b0de03ad89e...6a11c38c266d0d4982d8cc0930531249e6805927?src=pr
[cc-pull]: https://codecov.io/gh/biosustain/optlang/pull/21?src=pr

Kristian: can you add a schema for validation? See json schema for example


AttributeError: 'module' object has no attribute 'add_view'

Can't add a model view always getting the same error. Here is my code that I am running. I am using a Factory Pattern for my flask app.
class UserView(ModelView):
    column_list = ('username', 'email')

if __name__ == '__main__':
    admin.add_view(sqla.ModelView(User.username, db.session))
    manager.run()

I tried using flask-superadmin and got that to work but I'd rather use a constant updated extension such as flask-admin but I am having a really hard time doing it. Any help is appreciated. Thank you.

Please follow tutorial here: http://flask-admin.readthedocs.org/en/v1.0.9/quickstart/#initialization
Your admin is flask.ext.admin module, but you need to create Admin class instance and add views to it.


Fix header reading

Thanks for your submission. Unfortunately I can't accept it, as there is a very deliberate reason for not reading the entire RPM package. Some RPM package can be massive and, even when they are not, there is no advantage in loading the package payload into memory. It's a waste of memory.
I would however like to understand the problem you are encountering and work together to find a more effective solution. Can you please provide additional information and links to the problem RPMs?
Assuming the cause for this PR is related to #4.


Upgrade to SBT 1.x

I just tested quickly to see what fails with sbt 1.x.
The following plugins need to be updated to 1.x before we can migrate.

sbt-dotty: https://github.com/lampepfl/dotty/

Related issue: https://github.com/lampepfl/dotty/issues/3091

sbt-release-early: https://github.com/scalacenter/sbt-release-early

No issue for cross-publishing to sbt 1.0 yet.

The following plugins can already be upgraded to sbt 1.0:

sbt-bintray: https://github.com/sbt/sbt-bintray
Note: plugin is now avaliable under addSbtPlugin("org.foundweekends" % "sbt-bintray" % "0.5.1")
Crossbuilt with sbt 1.0 as of version 0.5

The following plugins should be removed:

sbt-doge

sbt 1.0 has the same behavior inbuilt.

The following documentation needs to be modified:

https://github.com/scalacenter/macros/blob/master/CONTRIBUTING.md#testing

This is due to sbt doge's removal

Work om porting sit-release-early started in https://github.com/scalacenter/sbt-release-early/pull/11


Move pack build to Forge

TBD

Note: requires adding volume support to forge

Use containers for analyze/export if publishing.
Use code in cli if daemon
This will currently break publishing to localhost registry until a new story is created to special case this


Installed LayerStyle through ComfyUI Manager, but get Missing Node Type error

I installed ComfyUI LayerStyle through ComfyUI Manager.

But I can't find the SegmentAnythingUltraV2 node. When I load the ultra_v2_nodes_example.json workflow, I got the Missing Node Type error.

How do I need to do to make these nodes available? Thanks!

Check the terminal window information, are there any dependencies not installed?

And in Film V2 node I have also this error:
(**inputs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\antonio\Desktop\AI\STABLE-DIFFUSION\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_LayerStyle\py\film_post_v2.py", line 64, in film_v2 depth_map.resize((_canvas.size), Image.BILINEAR) ^^^^^ NameError: name 'Image' is not defined. Did you mean: 'image'?`

Film V2 error already fixed.
The missing node has been transferred to https://github.com/chflame163/ComfyUI_LayerStyle_Advance，Please install it


Release schedule?

This feature has been in preview for over 2 years now.  Is there an estimated release date?

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

ID: 6898cd0d-98c0-9c54-feed-93e5025c1eaf
Version Independent ID: f31f4333-598d-2b12-7138-46d6f0399f50
Content: Azure Service Fabric Docker Compose Deployment Preview - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-docker-compose.md
Service: service-fabric
GitHub Login: @athinanthny
Microsoft Alias: atsenthi

@MikeChristensen Thank you for your feedback! We will review and provide an update as appropriate.

@masnider Can you comment on this feature

@MikeChristensen Release status cant be shared for the service which are in preview.
If you like to know the status of this feature, please send an email to<EMAIL_ADDRESS>Include this issue url in the email.  Also add this issue title in the subject of email.

@MikeChristensen
I will close this out for now. I will be expecting your email.


plforums.org "I will invite them here if anyone replies."

Please see https://plforums.org/practice/an-algoloid-that-uses-macros-to-define-itself#post_69
Feel free to close this issue at any time.

I haven't understood the goal about "using macros to define itself", though I admit I haven't read linked threads in detail. What exactly would be the difference from usual boostrapping?

Bootstrapping can certainly be done without macros. The very small metacircular evaluator in "The Roots of Lisp" is an example. I imagine 007 could also be bootstrapped (including macros) without using macros.
Given that macros are essentially there as a way to extend the parser, though, it makes sense to also use them in the implementing language (if that happens to be 007-with-macros). It's not macros' primary purpose to serve in bootstrapping, they might just occasionally be the right tool.

@raiph I just saw your reply over at the other link. Not sure you misunderstood things as much as you think. (Then again, all of this comes down to arbitrary definitions in the end. I'm still learning what exactly constitutes "meta-circular", "bootstrapping", etc.)
My decision to reply here rather than on the plforums.org site was based on convenience more than anything else. :smile: It looked like I'd have to create an account (yet another one), and I wanted to get as quickly to the point of writing a reply as I could.
Fwiw, I do want to define all the built-in statement forms as macros. Thinking about this recently has made me realize that we definitely need an is qtype trait as described in https://github.com/masak/007/issues/163#issuecomment-238338664 — though my thinking about this has developed some and I would nowadays write that as a function facade that wraps the quasi and I should totally open a new issue about that — note to self.
Why is this important if we use macros for all the built-in statements? Because we've already decided, long ago, that Q::Statement::If is what ends up in the program qtree. The is qtype/facade would be what fulfills that promise, whereas the quasi would contain the under-the-hood implementation of an if statement. In other words, if everything built-in has an underlying implementation, then it becomes all the more important to hide that implementation behind a veneer of respec^Waxiomaticity.
But I'm a little bit concerned that by definition, 007 is no longer (aiming to be) "meta-circular". So far, we've run our 007 code by interpreting the AST. We won't do that much longer, I think. Instead everything compiled will be written to a backend. By default, 007 will have a runtime of its own, largely inspired by Python's (but also borroing from JVM, v8, wasm, and others). My idea for how to implement Q::Statement::If is then "it code-generates the right instructions with jumps and labels" (see https://github.com/masak/007/issues/145#issuecomment-368418062 for early thoughts on this). Even if the runtime ends up being implemented in 007 as well, I'm not sure this counts as being a meta-circular evaluator anymore. (At most, it's a "mutually-metacircular compiler/runtime", I guess.) It's definitely still bootstrapping, though.


Added /style-guide route and components for new home page

Includes new styling, components and a style guide route with usage of components

Please use [https://www.conventionalcommits.org/en/v1.0.0/](conventional commits) format for your PR title.
feat(website): ...

On it. Thank you @thantos.

Note: you can just edit the PR title


get started  button working

Get started button on the landing page has now started working.
issue #47 resolved .
Please tell me if any changes are required or proceed to merge my pr .
Thanks!

Summary by CodeRabbit

New Features

Updated the "Get Started" button to navigate directly to the authentication page.
Revamped the Development Roadmap section with new milestones for 2024-2026, including details on the MVP launch, AI enhancements, and global expansion.

Improvements

Enhanced layout and visual presentation of the Development Roadmap for better user experience.

hello,
check issue #55.


Example of adverse effects?

I understand when local drive reach to limit, adverse effect such as writing error could be happen.
If it is possible, please consider to add the example of the adverse effect that could happen when local drive hit to the limit.
Thanks,

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

ID: c03c7ed5-ba60-f10c-fbdb-908b9c5264c4
Version Independent ID: ca460531-b89c-94c1-dfb6-509700a010b9
Content: Operating system functionality on Azure App Service
Content Source: articles/app-service/web-sites-available-operating-system-functionality.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

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

@cephalin , Thank you for the update.


Flip misnamed is_bitmap_embedding_allowed function, increase lenience of embed permissions for older OS/2 versions

After referencing this Microsoft fsType specification, I noticed an inconsistency in the functions {Face, os2::Table}::is_bitmap_embedding_allowed which seemed to have an inverted interpretation of the flag's meaning. The checked flag, if set, really means "is embed required to be bitmap". Since that name isn't very clear either, I inverted the name to is_outline_embedding_allowed while keeping the logical return value unflipped.
Further, the specification allows much leniency for earlier versions of the OS/2 table, this PR adjusts the logic of os2::Table::{permissions, is_subsetting_allowed, is_outline_embedding_allowed} to take advantage of this to be as lenient as allowable for embeds.
After these changes, I am not sure the default values for when the table isn't found are correct. I assumed that, in a version prior to the flags' introduction, both subsetting and outline embedding are allowed due to the negative naming of the flags (eg. "no subsetting" implies subsetting is the default) but I was unable to find a resource that states this outright.

I personally have no idea how it should work. And it's hard to test. Will see how CoreText handles it.

I have checked FreeType, fontTools, and FontForge for their behaviour - forgive me if I am missing obvious ones, I am not a usual visitor to the realm of font parsing!

FreeType - the fsType flags are not parsed directly, instead yielded to the user as-is along with a bunch of bitflags to check against. Documentation does not hint at the version differences, though no relevant behavior since it's up to user code to determine how to handle old versions of the flags.
fontTools - when merging fonts, the no-subset/bitmap-only bits are accessed but merely by copying over to the merge result instead of choosing the strictest. In particular though, for versions 0 thru 2 without the flag, it sets them to zero (most permissive)
FontForge - writes and parses the no-subset/bitmap-only bits regardless of OS/2 version (checked by experimentation)

In general, it seems that the support of these flags is a bit hit-or-miss in terms of adherence to the Microsoft spec I posted above!

I took a closer look and indeed is_bitmap_embedding_allowed is flipped. Probably just copy-pasted is_subsetting_allowed.
As for other apps, I couldn't find a similar API in CoreGraphics/CoreText. Font Book on macOS and Explorer on Windows do show font's permissions, but I don't have a font with the bitmap bit set. Do you have any?

I am not a usual visitor to the realm of font parsing!

Well, then welcome to a barely documented mess. You might be overwhelmed by how much Microsoft spec documents, but it's just a tip of an iceberg.

I have made up some barebones test fonts with the relevant flags set here. (I figured it would be legally dubious to set these flags on an actual font i just grabbed somewhere :P )
They are both OS/2 Version 4 despite my best efforts to limit them to a lower version, but hopefully this helps!
If rather you meant had I ever encountered these fonts in the wild, I can't say I have - I am just in the process of writing a software which may need to perform font embedding and I would like to respect the licensing rules of any font the user may import. On my current system, all of my fonts are FOSS, so certainly none there have such restriction for me to test!

Interesting. Seems like Apple recognizes this flag. Here is what Font Book.app shows:
TestFontNoSubsetNoOutlines.ttf:

No embedding restrictions. The font may not be subsetted prior to embedding. Only bitmaps contained in the font may be embedded. No outline data may be embedded.

TestFontNoSubset.ttf:

No embedding restrictions. The font may not be subsetted prior to embedding.

TestFontNoOutlines.ttf:

No embedding restrictions. Only bitmaps contained in the font may be embedded. No outline data may be embedded.

and just in case, here is Apple Color Emoji for the reference:

Preview and print embedding. This font may be embedded in documents and temporarily loaded on the remote system. Documents containing this font must be opened “read-only;” no edits can be applied to the document.

I managed to get FontForge to export with OS/2 version 1 after much fiddling (not sure what i did to make it happen, the version dropdown doesn't actually work!) Please give it a test :3
Notably, I set the flags even when they're invalid to set on this version. FontForge reads them regardless, as does current master, curious to see the behavior of your font viewer apps in this situation.

No embedding restrictions. The font may not be subsetted prior to embedding. Only bitmaps contained in the font may be embedded. No outline data may be embedded.

So the same as TestFontNoSubsetNoOutlines.ttf.

So I guess the question now is whether behavior should match the spec to the letter, or follow what the rest of the ecosystem does - it seems most others parse and use the bits regardless of OS/2 version, as current master does. My purpose for following the spec was to achieve maximum leniency - allow embedding wherever possible, and sealing up those little edge-cases to make it more likely that embedding was allowed while still following the letter of the law :3

I think we can keep checking OS/2 version. It doesn't add much complexity and not many fonts still use old OS/2 versions.


Fixed line endings

Default to \r\n line endings.
When running prettier it was generating changed files with no changes. This was due to incorrect line endings which github desktop was fixing.
The current encoding in the repository is \r\n so this just modifies the prettier config to match that.
Github desktop will now only show the files that have actually changed.
Also added a .gitattributes file which is related to line endings.

I don't know why this is failing. Running prettier locally produces no changes.

Looks like the actual encoding was fine. It was git incorrectly saying that the file had changed because of the end of line characters.
Adding this gitattributes file fixes the issue.


⚠ ClamAV has degraded performance

In 2ef5544, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 94 ms

Resolved: ClamAV performance has improved in b0eb93d after 12 minutes.


Can we use MXNET to do unsupervised learning?

Can we use MXNET to do unsupervised learning, such as clustering? Where shall I find the examples and API? Thanks

There are examples for GAN as semi-supervised learning example. I don't think mxnet is the right tool for clustering.

@VoVAllen Many thanks. Is there any good tool to calculate clustering on GPU?

try examples/dec

@piiswrong Many thanks!

@piiswrong the acc of the dec clustering is 0.11?

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!


Dev methodology tools

[ ] git for jeffrey
[x] issues tracking using github. as project mgmt tool
[ ] github private repository
[ ] zenhub for additional project mgmt. $25/month
[x] slack as internal communication tool
[ ] basecamp as official project communication tool
[ ] determine seed
[x] git as repository, push every change
[ ] UI design presentation wireframe
[ ] npm
[ ] bower
[ ] gulp
[ ] bdd, 100% test coverage?

[ ] unit test of forms
[ ] unit test of controllers
[ ] e2e test
[ ] system integration test
[ ] performance test

[ ] continuous delivery. travis-ci, or done manually
[ ] continuous deployment to live server
[ ] code review
[ ] analytics
[ ] performance monitoring

github not in private repository
how to do continuous delivery while not using travis

against Agile. http://programming-motherfucker.com/

from hacker news: https://news.ycombinator.com/item?id=4529791
How big is your team and how do you manage/what kind of policies are in place for: committing to the source repository, automate the build, build self-testing, automate deployment etc.?
We (Circle - https://circleci.com) make continuous integration as-a-service, so I can talk about what we do, and what a lot of customers do.
So we and all our customers build all branches on every push, connected to GitHub. That's how we work and what nearly all of our customers want.
We run all tests on every push, including javascript and selenium tests. Tests always run on a clean environment, so we install dependencies, create a fresh database each time, etc.
At the end, if tests have passed, many customers do continuous deployment by pushing to Heroku, or running Fabric/Capistrano scripts (Circle has special SSH key management so that you can keep this secret from your team without putting it in your repository).
Our code base uses a slightly different form of continuous deployment. When tests pass, we merge the code into the production branch, and our auto-scaling infrastructure just starts new boxes with the latest commit from the production branch.
We've talked to others about their procedure. One that comes up a bit is people who package up their code upon successfully testing it via CI, and then download it and deploy it whenever they scale.
Hope that helps, happy to go into more detail.
dylanhassinger 1222 days ago
My co-founder and I looked at systems like Chef or Puppet, but decided instead to build our own using command line actions triggered by Fabric scripts (it's like a Python version of Bash). These scripts can build us a new sandbox (or our entire server) on demand. We have a simple web interface to trigger them. We use Github post-update hooks deploy code to the server after every change to the master branch.
Later we'll probably integrate a Travis CI server and other fancy tools, but for now this simple setup works.

we need our own test, demo server in the cloud


Add support for JSON-API

I get random failures of tests both locally and with Travis CI, things like:
NoMethodError: undefined method `assert_equal' for nil:NilClass
The tests pass fine if you restart enough times....
Anyone else seeing this or know why it happens?


Rebuild front-end translation system

Just putting this as a reminder to myself really.
Need to cleanup front-end translation system (/translations endpoint).
It's a badly-done system, inefficient system.
Instead only the translations used should land in the browser. Insert those via standard tags then parse out with standard JS. Translations could be defined near where but have blade stacks gather these into a common location.

Instead only the translations used should land in the browser.

I dont understand that very well, isn't that the case already? The textes are translated in backend when the html file is generated, arent they?

@ezzra Yeah, This is more for translation used inside of JavaScript components which is handled on the front-end, differently to the majority of the translations which are inserted within the back-end blade files.

Ah ok, I totally missed the front-end and was confused :)


Update Latency data

Customer asks if this information can be updated and also include the latest regions (Italy North as example)
Table information is as of July 2023 and outdated.

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

ID: 311b6efb-2d93-6130-96a9-867fad56bd52
Version Independent ID: a17faabf-04c6-c3da-9a37-a86b0d00cbfd
Content: Azure network round-trip latency statistics
Content Source: articles/networking/azure-network-latency.md
Service: virtual-network
GitHub Login: @mbender-ms
Microsoft Alias: mbender

@hvdosten-MSFT
Thanks for your feedback! We will investigate and update as appropriate.

@hvdosten-MSFT
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.
@mbender-ms
Can you please check and add your comments on this doc update request as applicable.

Thanks for the feedback @hvdosten-MSFT. I will add this issue to the backlog item I have related to Latency. I have a request into Engineering regarding additional regions as they control the monitoring process. Feel free to reach out to me internally via alias mbender.
#please-close


Detect existing functions before adding new ones

This is to avoid uploading the same functions more than once.
If the protocol is already in place there is not worth spending time doing it again.
But, this is only is any significant speed or memory gain is to be made. Otherwise this issue could be closed.

I've implemented a pretty basic method for this in my fork (next branch). Hope it helps.

Could you create a pull request?
And if not to much trouble. Do it against master which now contains the changes from next

The patch is working


173233108 udl tab order

Allows tabbing between interactable elements.
Pressing on spacebar or enter key has the same action as clicks
Note that currently the sidebar tab is the first element that is focused when an activity page has a sidebar. May need to change that if that is not the behavior we want.

Tabbing to sidebar is now the right before the bottom nav buttons. But there is a weirdness that it goes to the URL first before the bottom buttons. So it goes header->questions->interactive->sidebar->url bar->bottom nav buttons.


[opencv] Add feature for building with TBB as parallel framework

Adds support for building OpenCV with TBB as the parallel framework.
Tested on x64-windows with: opencv[tbb] and opencv[core,dnn,jpeg,ffmpeg,flann,ipp,opengl,png,tbb].

Thanks for this PR -- this looks good to me! 😄


Create more robust and realistic tests

In GitLab by @nwalczak on Jun 26, 2019, 16:20
I wrote tests using a cut-down version of the dictionary for testing, which had few terms in it.  These tests are useful, but not always realistic.  I found a couple of bugs that weren't covered in the previous tests.  We need to create more robust tests using more realistic data.

In GitLab by @nwalczak on Jun 27, 2019, 08:20
created branch 60-create-more-robust-and-realistic-tests

In GitLab by @nwalczak on Jun 27, 2019, 08:20
mentioned in merge request !13

In GitLab by @nwalczak on Jun 27, 2019, 10:25
closed via merge request !13

In GitLab by @nwalczak on Jun 27, 2019, 10:25
closed via commit ede4291fdedc0a0045e627f21486e20de157bdab

In GitLab by @nwalczak on Jul 1, 2019, 16:23
mentioned in commit ede4291fdedc0a0045e627f21486e20de157bdab


fix: hyperlinks in README.md

Description
The hyperlinks to contributing.md and go-coding-style.md are changed from github/<filename> to .github/<filename>. Those hyperlinks are now functional.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
The files contributing.md and go-coding-style.md are located in .github/ instead of github/
# ls .github/*.md
.github/api_guidelines.md        .github/contributing.md          .github/go-coding-style.md       .github/pull_request_template.md

/ok-to-test

I was happy to help!


Cannot find name 'Router'

Hi,
I tried using routes, but its throwing me an error. Here is my code:
import {View, Component} from 'angular2/angular2';
import {Router} from 'angular2/router';
import { Home } from './home';

@Component({
	selector:'app'
})

@View({
	templateUrl: '../templates/home.html'
})

export class App{
	constructor(route:Router){
		console.log("app loaded")
	}
}

The compilation throws me following error:
ts/index.ts(14,20): error TS2304: Cannot find name 'Router'.

Is it something I am doing wrong??

The router should actually be build in a separate file. We have to add it to the gulpfile build process.

I added in my gulp build, here is the build:angular code
gulp.task('build:angular2', function () {
  var builder = new Builder({
    paths: {
      'angular2/*': 'node_modules/angular2/es6/prod/*.es6',
      rx: 'node_modules/angular2/node_modules/rx/dist/rx.js'
    },
    meta: {
      rx: {
        format: 'cjs'
      }
    }
  });
  builder.build('angular2/router', './lib/router.js', {});
  return builder.build('angular2/angular2', './lib/angular2.js', {});
});

gulp.task('build:lib', ['build:angular2'], function () {
  gulp.src([
    './node_modules/angular2/node_modules/traceur/bin/traceur-runtime.js',
    './node_modules/angular2/node_modules/zone.js/dist/zone.js',
    './node_modules/es6-module-loader/dist/es6-module-loader-sans-promises.js',
    './node_modules/es6-module-loader/dist/es6-module-loader-sans-promises.js.map',
    './node_modules/reflect-metadata/Reflect.js',
    './node_modules/reflect-metadata/Reflect.js.map',
    './node_modules/systemjs/dist/system.js',
    './node_modules/systemjs/dist/system.js.map'
  ])
  .pipe(gulp.dest('./lib'));
});

And here is my updated ts file:
import {View, Component} from 'angular2/angular2';
import {RouterOutlet, RouterLink, routerInjectables, RouteConfig} from 'angular2/router';
import { Home } from './home';

@Component({
	selector:'app'
})

@View({
	templateUrl: '../templates/home.html',
	directives: [RouterOutlet, RouterLink]
})

@RouteConfig([
  {path: '/', component: Home, as: 'home'}
])

export class App{
	constructor(){
		console.log("app loaded")
	}
}

Now I am not getting any error in terminal, but in browser I am getting 404 for http://localhost:5555/dev/angular2/router.js

have you added a script tag pointing router.js ? It works fine for me.
I'm now looking at the ts compiler error.

The ts compiler error is due to the definition file (angular2.d.ts) which not very good.
This file requires quite a lot of rework. So until we get a better one it will need to be modified based upon your needs. Redefining var Router; by class Router {} fixes the compiler error (only).

Fixed 404 issue, but still routes not working

Router branch refactored.

Thanks, will check.

I just checked, routes are working fine, can you explain me what changes you made to make it work?
Also found a bug, if you are on component2 route, and if you refresh the page, the npm server sends not found error.

@nirajmchauhan I did nothing special as it has always worked for me.
If you refresh on a route different than root it's normal that you get an 404 error as the server only serves static files and is not setup to serve Single Page Application.

@nirajmchauhan https://stackoverflow.com/questions/17646843/angularjs-html5-mode-how-do-direct-links-work-without-server-specific-changes


Dosen't detect app non rooted pixel6a using lspatch

iv'e been having issue instaling igexperiments the app does not detect my insta instal , no idea why liked somme screen with all the info needed .

Hey! can you please share the logs?
Make sure to clear the logs first, force stop IGEXPERIMENTS and open it, export the logs and send them here.
Thanks!

furthermore can you please tell us what IGEXPERIMENTS version you are using?

so sorry I just noticed that you are using LSPatch (non root), when you open instagram, can you try hold clicking the Instagram's home button?

sorry to


How to add material-ui to webpack externals?

I'm building a library which bases on Material UI and want to publish components without bundling material-ui's code. I've tried adding the lib to externals but that seems to bundle it anyway. Here's my<EMAIL_ADDRESS>config excerpt:
externals: {
    react: {
      root: 'React',
      commonjs2: 'react',
      commonjs: 'react',
      amd: 'react',
    },
    'material-ui': {
      root: 'MaterialUI',
      commonjs2: 'material-ui',
      commonjs: 'material-ui',
      amd: 'material-ui',
    },
  },

React does not get bundled in, but Material UI does. The component that I'm trying to publish has the following import statement:
import Typography from 'material-ui/Typography';

One ugly way to solve it is to provide a config similar to:
    'material-ui/Typography': {
      root: 'material-ui/Typography',
      commonjs2: 'material-ui/Typography',
      commonjs: 'material-ui/Typography',
      amd: 'material-ui/Typography',
    },

But that's just not maintainable. Another option would be to follow https://stackoverflow.com/a/41823893/2066118 but I'm not sure whether that's a recommended way, or whether it would work with v1

@maciej-gurban We use Rollup to bundle the umd package:
https://github.com/mui-org/material-ui/blob/4e4dbb7aed901b523fcc24d6cfd2d8e3369e3a6b/packages/material-ui/scripts/rollup.config.js#L28-L39
But we used to use webpack:
https://github.com/mui-org/material-ui/blob/7b120407ee7467c177ecd38f64ec232a2fd09cec/packages/material-ui/scripts/umd.webpack.config.js#L1-L75

But I'm asking how to prevent material-ui from being bundled by webpack into a final bundle. I don't see that anywhere in the code you posted. What am I missing?

@maciej-gurban Use the same pattern that we use to prevent react & react-dom from being bundled. I don't think the question is specific to Material-UI.

Also, the material-ui package name is deprecated, use @material-ui/core. I would suggest you to ask on webpack side or Rollup if you decide to use a different tool. But

Anyway, as far as I understand your problem, it's a webpack related issue.

I already know how to prevent react and react-dom from being bundled. I'm asking how to prevent material-ui from being bundled. The way to write imports suggested by the docs, like import Button from 'material-ui/Button, will work with externals config that specifies material-ui as an external. To make it work, I'd need to create material-ui/Button external, then material-ui/Table external and so on.

Posted my comment before refreshing and seeing your other comments. I'll checkout Next.js. Thank you

Thanks for sharing the solution. Hopefully, it  will help other :).

Works like a charm -- Thanks !

Tried with above regex, but it does not work for me.
Also tried
'@material-ui/core': {
        root: '@material-ui/core',
        commonjs2: '@material-ui/core',
        commonjs: '@material-ui/core',
        amd: '@material-ui/core',
      },

Versions using
"@material-ui/core": "^1.3.0",
"webpack": "^4.11.1",

Anyone else got this to work?

This works for me, add all these to externals:
    "@material-ui/core",     "@material-ui/icons", <EMAIL_ADDRESS><EMAIL_ADDRESS>

I add<EMAIL_ADDRESS>into webpack.config.js, but I have to modify from "import TextField from '@material-ui/core/TextField';" to "import {TextField} from '@material-ui/core';" at the same time.
But use "import {TextField} from '@material-ui/core';"  will import all library, so result is output file size is almost no decrease.
what did I miss?

I add<EMAIL_ADDRESS>into webpack.config.js, but I have to modify from "import TextField from '@material-ui/core/TextField';" to "import {TextField} from '@material-ui/core';" at the same time.
But use "import {TextField} from '@material-ui/core';" will import all library, so result is output file size is almost no decrease.
Please tell me what did I miss?

have you solved it？I am not sure how to import UI components in js files. It always cracks.

It's tough to help without seeing any webpack config code. You could setup some repo to showcase the issue.
No import changes should be necessary. All you need to do is to ignore import paths that match MUI on webpack externals

@maciej-gurban THANK YOU for posting the solution. You probably saved me hours of work

Note for anyone wrestling with a similar issue with Rollup: the external option unfortunately will not accept regexps like Webpack, though it does allow you to pass a function, so you can implement whatever sort of logic you want:
    external: (moduleName) => {
        return isModuleExternal(moduleName);
    },

Inside this same function you can dynamically construct your globals to pass to the output - e.g. a function to convert the module name '@material-ui/core/Tooltip' to 'MaterialUiCoreTooltip', then add the latter to the globals object - e.g.
let globals = {};

...

    external: (moduleName) => {
        const isExternal = isModuleExternal(moduleName);
        if (isExternal) {
          // dynamically adds module name to globals
          // e.g. { '@material-ui/core/Tooltip': 'MaterialUiCoreTooltip' }
          globals[moduleName] = sanitizeModuleName(moduleName);
        }
        return isExternal;
    },

@davidcalhoun do you have more details for how to validate is an external isModuleExternal and for moduleNameToSanitizedGlobalName,
Material UI umd only exposes MaterialUI globaly how do you access to the specific imports?

The following worked for me by combining ideas from @maciej-gurban and @felixknox
externals: [
<EMAIL_ADDRESS>]

When I try either of these solutions: the one posted by @arve0 or @invisibleroads, I'm seeing the following error:
ERROR in index.js from Terser
Unexpected character '@' [index.js:367,39]

I think Webpack doesn't like the @ character in @material-ui/core

I only needed to externalize @material-ui/core for some testing. The following worked well for UMD build with Webpack. Notice the similarity with react and react-dom.
    externals: {
      react: {
        root: "React",
        commonjs: "react",
        commonjs2: "react",
        amd: "react",
      },
      "react-dom": {
        root: "ReactDOM",
        commonjs: "react-dom",
        commonjs2: "react-dom",
        amd: "react-dom",
      },
      "@material-ui/core": {
        root: "MaterialUI",
        commonjs: "@material-ui/core",
        commonjs2: "@material-ui/core",
        amd: "@material-ui/core",
      },
    },

Why root: "MaterialUI"?

Because it was in the CDN links posted here.


Feature/MOBILE-3090 customer sdk project enhancements

https://bringg.atlassian.net/browse/MOBILE-3090

Build is failing - failure to run fastlane


drivers: i2c: add thread-safe semaphore

This PR makes two changes:

Add a semaphore to ensure that only one transaction happens at a time when threads want to
transfer simultaneously.
Add error handling when missing a target and failing at consecutive transactions

Signed-off-by: Wei-Tai Lee<EMAIL_ADDRESS>

Does anyone have any further inquiries or suggestions regarding the proposed changes?

If there are no other reviewers available, may I ask for suggestions on what I can do to facilitate the merging of the PR?


Feature: Add option for setting indentation

I think I'm not the only one who prefers tabs to spaces. Also I know that many people use different space count on indentation.
I suggest adding defaults.indent option to angular-cli.json.

Curious, what would this be used for?  I am assuming you are talking about how the code is laid out; couldn't you modify that in your IDE?

@fullstackdave yes, ofc I can, but I have to do this with every file file generated. I think I can automate it (I'm using Sublime Text 3), but I use it for other projects and I don't know how to do it without any problems with other files.

Dupe of https://github.com/angular/angular-cli/issues/1252

Well, that referenced issue didn't end too good.
Quite frankly I do not understand why there is a really nice .editorconfig but after setting the indent_size to 4 from 2 and executing ng g component mycomponent I still have to use the inbuilt option in visual studio code to format document to be 4 spaces long for each tab as I set it in my preferences. Just why this file is there if CLI ignores it? Does it also ignores rest of it or just this one option?
This really isn't an issue for professional programmers who know their tools but from time to time you can get that amazing opportunity to have an intern on your project who will touch the codebase and I think this option could be helpful for those guys and also you're gonna have one thing less on your list of things you have to watch that guy for.

+1 I really don't understand, I have to re-edit everytime the scaffolded files

@mpragliola the blueprint files are tab space 2. There isn't a setting to change tab space, you would need a whole new blueprint with tab space 4 or run some formatter on the newly generated file with your config settings.

Yeah, that other thread aside... I'm with everyone else who would like this feature, and it seems like if you have the value set in .editorconfig it should be honored.  Having to reformat everything the cli generates is not desirable.
@prestonvanloon what about replacing the double-spaces with an arbitrary character and then using the .editorconfig to replace that character on the way out?

I would also like the feature to generate components etc. with tabs instead of spaces. Thank you.

:+1:

Agreed. I am loving the CLI but i spend half my time converting from tabs to spaces and then 2-4 width.. To have this fixed would the polish on an otherwise super useful tool.

Since it seems that this issue will not be fixed anytime soon and since it takes some time to manually format the files every time I create a component (and I create them very often), I've made an ugly, not recomended workaround for this: I edited the file<EMAIL_ADDRESS>to have my usual formatting (with tabs).
Please note that this is a workaround and it's not recommended.
And please, please, let's not argue what is "best" or "right" about using tabs, spaces or their sizes. Let's just accept that each professional likes the configuration that is best for their eyes :)

I love tabs and hate spaces, plz halp!

This should be available soon-ish via automatically running TS Lint fixers on generators. This is being tracked in #6272.

@kleber-swf Genius


Add grammar for .html.eex

Eex (Embedded Elixir) is used to inline Elixir in HTML (and possibly other languages). HTML formatted as Eex may work if treated as normal HTML when being beautified.
An existing grammar for Atom document recognition and colorization is here: https://github.com/elixir-lang/language-elixir
(I searched for a matching issue and found none containing "eex")

I believe this is a duplicate of https://github.com/Glavin001/atom-beautify/issues/1383


Correction for raw affiliation Ryerson University, Toronto, ON, USA

Correction needed for raw affiliation Ryerson University, Toronto, ON, USA
raw_affiliation_name: Ryerson University, Toronto, ON, USA
new_rors: 05g13zd79
previous_rors:
works_examples: W2559850250;W4249360024
contact: b23c914561d3f79340ef6d1d444b6f18:721d5473 @ ourresearch.org

This issue was accepted and ingested by the OpenAlex team on 2024-12-21. The new affiliations should be visible within the next 7 days.


Update create-or-configure-an-availability-group-listener-sql-server.md

Adding of word. Close? Open? Restart?

@dupiesdupreez : Thanks for your contribution! The author, @MashaMSFT, has been notified to review your proposed change.

Hi @dupiesdupreez, thanks for catching this and for your contribution! The correct word should be use :) #sign-off


Can't access non-loaded lazy locales using $t

Hello.
I was trying to put two different languages on the same page.
In my example, I'm trying to pull messages for two different languages i.e. polish and french.
The idea is to get language from a browser (fr) and compare it to language from URL(pl) which will show the message about difference and choose between two of them. That message should be in those two languages that I've got from the browser and URL.
I tried use v-t directive with the locale attribute, but it seems to not work as I expected.
Tried also $t with same effect.
After checking i18n object I had only current language messages (in this situation polish) and both strings were translated into polish only...
My nuxt-i18n config
  parsePages: false,
  locales: LOCALES,
  defaultLocale: process.env.NODE_ENV !== 'production' ? 'en' : 'en-gb',
  lazy: true,
  langDir: 'lang/',
  vueI18n: {
    fallbackLocale: 'en',
    silentFallbackWarn: true,
    formatFallbackMessages: true,
  },

Is there any possibility to use both languages on the same page?

The $t API [1] takes a locale argument so you could use that if you would have all locales loaded. But since you are lazy loading them, you can't do that.
Interestingly, there is no way to trigger loading of additional locales right now, short of changing to a given locale. I guess it makes sense to add that. Then you would need to manually ensure that all locales you want to use are loaded before you try to get the translations for that locale.
Would that work for you? You would need to programmatically call something like await $i18n.loadLocale('fr') before using it.
[1] https://kazupon.github.io/vue-i18n/api/#vue-injected-methods

Thank you for the quick answer and sorry about that late response from my side.
Of course - any possibility to add additional language "on the fly" would be nice to have in case of my problem.
Although best would be if I could select some language i.e. in $t and that language would be lazy-loaded automatically, but as I said above - adding it manually and checking if lang is loaded before usage sounds good as well.

Although best would be if I could select some language i.e. in $t and that language would be lazy-loaded automatically

That's technically not doable as $t is a sync API while loading languages is async. So that would make the API not backward-compatible and also async API wouldn't work from templates.

Makes sense. Manual loading locale sounds good too :)
Pozdrawiam :)

Any updates on this?

@rchl any updates?


Doc updates

@daenney I think this gets the README up to being accurate with classes/defines/parameters and examples. It could certainly use more polish, but I'd probably defer to our docs team for that.
I think our big missing pieces at this point is an upgrade guide, and updating things in examples. We're getting close!

Such cuteness!

L22 in the README still mentions the old purge_* parameters, we should remove that.


DMSImporter.from_cdf does not retrieve latest version, if no version is given

System information (please complete the following information):

Python Version: 3.10
neat Version: 0.41.6

Describe the bug
Requesting importer.DMSImporter.from_cdf(client, [('my-spc', 'my_model')]) w/o an explicit  version given, is supposed to respond with latest version.
Multiple issues I see here:

SDK request my_models  = client.data_modeling.data_models.retrieve(('my-spc', 'my_model') responds with versions sorted alphabetically.

in my case the list of versions looks like

[v.version for v in my_models]
#> ['1', '10', '11', '2', '3', '4', '5', '6', '7', '8', '9']

NEAT implemented access on top of this request [0] (in DMSImporter.from_cdf) which responds with 1 instead of 11
version is defined as ^[a-zA-Z0-9]([.a-zA-Z0-9_-]{0,41}[a-zA-Z0-9])?$, not only integers

I'm not sure how to retrieve latest, sounds like a SDK or API question
maybe sorting by created_time and picking last is it?

[v.version for v in sorted(copilot_cdf_model, key=lambda x: x.created_time)]
#> ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']

To Reproduce
You need models with multiple versions

like including 1, 2 and 10

Expected behavior
Retrieve model with latest version
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

This in legacy module, and we do not intend to spend resources improving legacy code.


check number of params

Is there a way to validate number of req.params?
I want to be able to have a condition to limit the number of params and if the request doesn't meet the condition, it fires up an error.

This lies outside the scope of express-validator - as you're not validating the content of a request field -, so no, there's no way to do this.