WebID dropdown not working

Browser 0.11.2 Debian Linux and Windows 10
The dropdown says 'no WebIDs found' even though I have created some. Possibly related to #320

I have this issue on Ubuntu 18.10 (SAFE Browser 0.11.2 dev build).
Any news / workarounds? I need this to develop stuff! Cheers.

Apologies for not responding to this issue previously. This is a know bug which was reported previousy in the forum:
https://safenetforum.org/t/webids-not-showing-in-browser/27499
The devs are currently looking at it and a fix is in progress - not sure when they'll be able to deliver it at the moment but as soon as poss.

As a workaround, for me it works by first enabling experimental APIs and then loging in the Authenticator.
Although I know that doesn't work for others, but worth a try.

Thanks folks.
@bochaco unfortunately that workaround doesn't make any difference for me but I can fudge the code for now, so not urgent for me.

I think I see the problem here with some post-refactor code.

Testing on v0.11.3 RC. This issue has been resolved - clicking on the WedID Manager icon in the address bar now gives us a drop down menu showing the existing WebIDs plus an option to open the Manager app:

Tested on Linux Mint 19 Cinnamon.


Something wrong with compute_crcs

https://github.com/mbedmicro/pyOCD/blob/b26ea75b525a526a4925ef45770482c490d11b1e/pyocd/flash/flash.py#L154-L163
Try some pairs of addr and size
For example STM32 have a flash at 0x08000000 and sector 2048 bytes. So we got 10000000B as result.
I can't find source of analyzer to understand how it works.

The analyzer source is in the src/analyzer directory.,


{db-up} Fix issue 942: Add more arguments for down

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

db-up


"Sadova" is listed in the drop-down menu

Description:
"Sadova" is listed in the drop-down menu alongside its corresponding county according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Sadova".

Expected results
The location is listed in the drop-down menu as "Sat Sadova SUCEAVA (Sadova)".


Cronjob "limit" parameter not working?

Earlier this week I installed version 1.1.9 on my server and began using it.  I set up a cronjob and it works as expected except it doesn't seem to acknowledge the "--limit=10" parameter that I included.
My cronjob is the default given in the documentation:
0 */4 * * *  cd /path/to/miniflux && php cronjob.php --limit=10 >/dev/null 2>&1
The cronjob checks the RSS feeds at the correct time, but rather than just checking the oldest 10, it checks my entire list of feeds.
When I run the cronjob from within the browser, it works correctly and only the oldest 10 feeds are checked.
Any ideas?  Thanks for a wonderful app!
Version: 1.1.9
OS: Linux CentOS
PHP: 5.4

Here is my crontab entry that runs every 5 minutes and takes 4 hours to refresh all my subscriptions. Try using the --update-interval and --call-interval arguments. Note: the --call-interval should match the run rate of the job.
*/5 * * * * cd /path/to/miniflux && php cronjob.php --call-interval=5 --update-interval=240

Thanks for the suggestion, @pcwalden!  Unfortunately I'm still not getting it to work.
I had tried using the --update-interval and --call-interval parameters previous to trying --limit, and none of them appear to have any effect on the feeds being called.  The time of the cron job is correct, but all 50 of my feeds are called at the same time, regardless of what parameters I've specified within the php request.

What is the terminal output if you manually run cronjob.php from the command line with the --call-interval --update-interval arguments?

My host doesn't allow me command line access, so I have to run cron jobs through a web control panel that they supply.  But your suggestion did lead me to my solution:
In order to get the parameters to work, I have to replace "php" with "php-cli" instead.  This calls PHP from the command line rather than standard php, which appears to call via cgi.  (I'm a novice to all of this stuff.)
So for anyone who may experience something similar in the future, the trick is to replace your script as such:
*/5 * * * * cd /path/to/miniflux && php cronjob.php --call-interval=5 --update-interval=240
should be changed to
*/5 * * * * cd /path/to/miniflux && php-cli cronjob.php --call-interval=5 --update-interval=240
Thanks again for offering your help, @pcwalden!

My host doesn't allow me command line access

Seriously, I am running miniflux on a $35 Raspberry Pi 2. All I need is an ISP and a router to connect it and run my own miniflux instance. Time to take control of your miniflux instance.

@pcwalden That's awesome! I might look into that. For the time being, it's working as it should, so I'm thrilled!


Multithreading can't be disabled for BC6H

Hi,
Even if we pass dwnumThreads==1 and bDisableMultiThreading==false, BC6H compression still runs multithreaded.
// Compression settings
CMP_CompressOptions options;
memset(&options, 0, sizeof(options));
options.dwSize = sizeof(options);
options.fquality = AMD_CODEC_QUALITY_DEFAULT;
options.dwmodeMask = 0xCF;
options.dwnumThreads = 1;
options.bDisableMultiThreading = true;
in CCodec_BC6H::CFinishBC6HEncoding(void)
m_Use_MultiThreading == 1
and
m_LiveThreads == 8

Hi @zigguratvertigo , please try the latest commit and let us know if the issue still exist. Thanks!


Fix de-registration bug in benchmarks/charm++/pingpong/

This commit changes the deregMode of the buffer info objects using
the Direct API in benchmarks/charm++/pingpong to CK_BUFFER_NODEREG.
This is required to ensure that the buffers are not de-registered
after the completion of the operation.

While changing DEREG -> NODEREG for benchmarks, I missed out on this program.
This should fix the autobuild failure on ofi and verbs.


READ_EXTERNAL_STORAGE broken on API 15 device

This will also apply to other permissions that were only introduced in newer Android versions than the app is running on.
A method in my app requires READ_EXTERNAL_STORAGE permission, but this permission was only introduced in API 16. When running the generated ...WithCheck() method on an API 15 device, PermissionsUtils.hasSelfPermissions will never return true (since the READ_EXTERNAL_STORAGE permission doesn't exist), and so the target method will never get called - even though the app will run fine without that permission. PermissionsDispatcher acts as if the permission has been denied.
I'm working around it with
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    MyActivityPermissionsDispatcher.doThingWithCheck(this);
} else {
    doThing();
}

but that feels broken and it would be much cleaner if I didn't have to.

This behaviour occurs because of an architectural decision in the Android framework, where non-existent permissions are never granted by design. I see the point about performing conditional checks on certain permissions that were added later in the Android lifecycle. This would most likely be enforceable in PermissionsUtils using a static mapping of those permissions to their minimum SDK level.
Mark Murphy published a great article on the exact same issue on his blog recently.

Awesome, thanks. I'll look forward to 2.0.1. My workaround feels like a bit too much of a blunt instrument, applying checks specifically to the permissions and devices that need them is a much better idea.

This is what my sketch looks like at the moment:
public final class PermissionUtils {

    // Map of dangerous permissions introduced in later framework versions.
    // Used to conditionally bypass permission-grant checks on older devices.
    private static final SimpleArrayMap<String, Integer> MIN_SDK_PERMISSIONS;
    static {
        MIN_SDK_PERMISSIONS = new SimpleArrayMap<>(6);
        MIN_SDK_PERMISSIONS.put("com.android.voicemail.permission.ADD_VOICEMAIL", ICE_CREAM_SANDWICH);
        MIN_SDK_PERMISSIONS.put("android.permission.BODY_SENSORS", KITKAT_WATCH);
        MIN_SDK_PERMISSIONS.put("android.permission.READ_CALL_LOG", JELLY_BEAN);
        MIN_SDK_PERMISSIONS.put("android.permission.READ_EXTERNAL_STORAGE", JELLY_BEAN);
        MIN_SDK_PERMISSIONS.put("android.permission.USE_SIP", GINGERBREAD);
        MIN_SDK_PERMISSIONS.put("android.permission.WRITE_CALL_LOG", JELLY_BEAN);
    }

    // ...

    private static boolean permissionExists(String permission) {
        // Check if the permission could potentially be missing on this device
        Integer minVersion = MIN_SDK_PERMISSIONS.get(permission);

        // If null was returned from the above call, there is no need for a device API level check for the permission;
        // otherwise, we check if its minimum API level requirement is met
        return minVersion == null || Build.VERSION.SDK_INT >= minVersion;
    }

    /**
     * Returns true if the Activity or Fragment has access to all given permissions.
     *
     * @param context     context
     * @param permissions permission list
     * @return returns true if the Activity or Fragment has access to all given permissions.
     */
    public static boolean hasSelfPermissions(Context context, String... permissions) {
        for (String permission : permissions) {
            if (!permissionExists(permission) || checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
                return false;
            }
        }
        return true;
    }
}

I think that this should solve your issue. It basically lets hasSelfPermissions pass every check to a permission that was added in a later SDK version on devices below that minimum requirement. I'm not too sure about the copy-pasted values from Manifest.permission, however I don't think we can reference those directly here since, you know, these constants are missing on old-enough devices.

Looks good, thanks very much.
About the constants - my API 15 device got the right value for READ_EXTERNAL_STORAGE even though it didn't know what to do with it, so I suspect they'd be fine to use so long as PD is always being compiled with the latest SDK (to cover permissions added in future API levels). If someone wants to use a new permission introduced in a future SDK, they'll be using that SDK so it should all work out. But then again, it could be good to just capture the actual values now, rather than having to worry about API levels at all. Probably either decision is fine!

@aurae I've tested your code in some older devices and it is working


DefaultS3Props with new Lifecycle Policy produces errors when versioning overridden

Creating BucketProps from core Defaults3Props, then modifying to suit: disable versioning. Causes an error: Cannot use 'noncurrent' rules on a nonversioned bucket. It appears that a default lifecycle policy was added in 1.64.0. For customers that may have used the example code below prior to 1.64.0, this will cause their stack to fail.
Reproduction Steps
let bucketprops = DefaultS3Props();

ArtifactBucketCfg = overrideProps(ArtifactBucketCfg, {
    serverAccessLogsPrefix: 'access-logs',
    versioned: false
})

const bktArtifact = new s3.Bucket(this, "ArtifactBucket");

Error Log
Cannot use 'noncurrent' rules on a nonversioned bucket
Environment

CDK CLI Version      : 1.64.0
CDK Framework Version: 1.64.0
AWS Solutions Constructs Version     : 1.64.0
OS                   : OS/X
Language             : Typescript

Other

This is :bug: Bug Report

mobri2a@ Good find! The fix has been pushed out in the latest release v1.64.1, for proof see this test case with versioning disabled which does not have the default life cycle policy and this test case with default versioning enabled which has the default life cycle policy.
For future reference, we do not recommend using the default props directly from the core package in the application code unless absolutely necessary. In which case, be aware to use the build function, if available. For instance, in this case, use buildS3Bucket function instead of DefaultS3Props


🍸 start app

🍸 Simple Start Application (interactive+ API)
Is your feature request related to a problem? Please describe.
Running app/ widgets/ API on model for inference
Describe the solution you'd like
Without any extra code or importing, when you load or trained a valid learner:
learn.start_app(port=7676)

Additional context
It's less workload than we think

what do you plan to use for the App?
Shall it run from Colab? Any Jupyter? Python script? Locally or only online?

Started to implement with PR #66

Well now we have deploy with ngrok. #68


Change content/class names of space inside JSX tags?

The space within JSX tags currently has a class string of .markup.raw.jsx when rendered in Atom. This causes a problem for any theme expecting .markup.raw to be used for raw HTML within a Markdown document (https://github.com/wesbos/cobalt2-atom/issues/2).
.markup.raw (and .markup in general) seems to be mostly used for Markdown rather than XML/HTML. See atom/language-gfm/grammars/gfm.cson#L717. language-xml and language-html appear to have no reference to .markup at all.
I'm not sure what class string would be best for your project (which is why this isn't a PR), but for what it's worth, language-html and language-xml both fall back to their base scope names (.text.html.basic and .text.xml) for content within tags.

No able to get test this until Friday. I'm not sure why I decided to use markup as a scope. I'll take a look on Friday.


Add TouchOSC Editor v 1.7.0

Closes #11614.

I see now, nice one.

For all intents and purposes, the commit is still credited to you, as you can see.


Missing Country

Missing country from the list
"Netherlands Antilles",
Alpha2 = "AN",
Alpha3 = "ANT",
NumericCode = "530"`

ANT is Transitionally reserved and not Officially assigned
See https://www.iso.org/obp/ui/#search

Got it, thanks


Change in license

Interest in littlefs is growing and we’d like to enable users to combine it with other open source projects, regardless of license. Unfortunately, due to the Free Software Foundation considering Apache-2.0 to be incompatible with GPL-2.0, this creates a limitation for some open source projects.
In order to continue the growth of littlefs and enable friction-less combination with other open source projects, we are seeking to change the license for littlefs from Apache-2.0 to BSD-3-Clause. We have emailed all contributors to request permission to change the license. If you have been a contributor and received an email, please help us continue the development of littlefs by responding! Future contributions will be based on inbound = outbound BSD-3-Clause and pending contributions will need to be rebased on master after the license change has taken place to enact the appropriate inboud=outbound license.
Thanks for all the support and interest in littlefs 👍

@aldot , @jrast , @Sim4n6 - as previous contributors to littlefs, can you please provide your permission to re-license your contributions under BSD-3-Clause? (in the spirit of openness and transparency, we are asking all contributors, no matter the contribution to affirm).  Thanks!

Ok go ahead
Le ven. 15 juin 2018 à 17:47, Jilayne Lovejoy<EMAIL_ADDRESS>a
écrit :

@aldot https://github.com/aldot , @jrast https://github.com/jrast ,
@Sim4n6 https://github.com/Sim4n6 - as previous contributors to
littlefs, can you please provide your permission to re-license your
contributions under BSD-3-Clause? (in the spirit of openness and
transparency, we are asking all contributors, no matter the contribution to
affirm). Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ARMmbed/littlefs/issues/59#issuecomment-397694765,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMbr83-DTcYxn9_C82xGYD4Keb1rzdbyks5t8_MZgaJpZM4Ujcwn
.

The current v2 lfs.c is Apache-2.0 licensed at the top of the file.  Maybe the change got lost in the version rev.

Ah! That is incorrect. Thanks for point it out, I will fix it. The license is still BSD-3-Clause.

https://github.com/ARMmbed/littlefs/pull/240


Create Ice Dance Choreography.md

📝 Description
Explore ice dance choreography ideas and techniques to create captivating performances
Fast try: https://illa.ai/ai-agent/ILAex4p1C700/detail
💣 Is this a breaking change (Yes/No):

[ ] Yes
[x] No

🚧 How to migrate?
Don't need.
📝 Additional Information
lol
closes #2414

Dear user, thank you for your contribution. Since GPT cannot connect to the Internet, the YouTube link it provides is also wrong. We suggest that you ask GPT to give some suggestions or training plan-related content and remove the Youtube part.


Parking Ticket Ownership Reconcilliation

A way for users to mark whether ownership records match ticket details.

compare vehicle makes recorded on tickets for makes on the ownership
let user mark matches and mismatches

Still need to reconcile lookup errors.


Improve QScript performance on basic select query

Below shows how long it took to generate QScript from a LogicalPlan for a given query. Clearly we have a serious exponential performance problem. (Note that I only ran each query once to generate the times.)
select a, b, c from zips
0.113s
select a, b, c, d from zips
0.121s
select a, b, c, d, e from zips
0.378s
select a, b, c, d, e, f from zips
1.632s
select a, b, c, d, e, f, g from zips
9.350s
select a, b, c, d, e, f, g, h from zips
55.733s
select a, b, c, d, e, f, g, h, i from zips
334.901s

select a, b, c from zips generates the following LogicalPlan:
Let('__tmp0)
├─ Let('__tmp1)
│  ├─ Read(/mongoq/test/zips)
│  ╰─ Typecheck(Obj(Map[], Some(Top)))
│     ├─ Free('__tmp1)
│     ├─ Free('__tmp1)
│     ╰─ Constant(NA)
╰─ Invoke(Take)
   ├─ Invoke(Squash)
   │  ╰─ Invoke(ObjectConcat)
   │     ├─ Invoke(ObjectConcat)
   │     │  ├─ Invoke(MakeObject)
   │     │  │  ├─ Str("a")
   │     │  │  ╰─ ObjectProject('__tmp0{"a"})
   │     │  ╰─ Invoke(MakeObject)
   │     │     ├─ Str("b")
   │     │     ╰─ ObjectProject('__tmp0{"b"})
   │     ╰─ Invoke(MakeObject)
   │        ├─ Str("c")
   │        ╰─ ObjectProject('__tmp0{"c"})
   ╰─ Constant(Int(11))

which compiles to the following QScript:
Subset(Take)
├─ Unreferenced
├─ From
│  ╰─ LeftShift
│     ├─ Read(/test/zips)
│     ├─ Struct
│     │  ╰─ ○
│     ├─ IdStatus
│     │  ╰─ IdStatus(ExcludeId)
│     ╰─ Repair
│        ╰─ ConcatMaps
│           ├─ ConcatMaps
│           │  ├─ MakeMap
│           │  │  ├─ Constant(Str(a))
│           │  │  ╰─ ProjectField
│           │  │     ├─ Guard
│           │  │     │  ├─ RightSide
│           │  │     │  ├─ Type(Obj(Map[], Some(Top)))
│           │  │     │  ├─ RightSide
│           │  │     │  ╰─ Undefined
│           │  │     ╰─ Constant(Str(a))
│           │  ╰─ MakeMap
│           │     ├─ Constant(Str(b))
│           │     ╰─ ProjectField
│           │        ├─ Guard
│           │        │  ├─ RightSide
│           │        │  ├─ Type(Obj(Map[], Some(Top)))
│           │        │  ├─ RightSide
│           │        │  ╰─ Undefined
│           │        ╰─ Constant(Str(b))
│           ╰─ MakeMap
│              ├─ Constant(Str(c))
│              ╰─ ProjectField
│                 ├─ Guard
│                 │  ├─ RightSide
│                 │  ├─ Type(Obj(Map[], Some(Top)))
│                 │  ├─ RightSide
│                 │  ╰─ Undefined
│                 ╰─ Constant(Str(c))
╰─ Count
   ╰─ Map
      ├─ Unreferenced
      ╰─ Constant(Int(11))

One thing to note immediately (compile-performance related or not) is that in the LogicalPlan we have a single Typecheck where in the QScript we have the same Guard duplicated for each ProectField. We would like to require a backend to perform this calculation only once, but that may be out of the scope of this ticket.

I should also note that the times were generated using the work in #1906 .

😱

Some updates: We are spending all of our time in MapFunc.normalize via freeMF. We are spending time there not due to that particular algorithm, but because prior to getting there, we generate huge QScript.  The same QScript subset for select a, b from zips has ~36 duplicate sections split across Constant(Str(a)) and Constant(Str(b)) variants. Then it gets exponentially worse. For select a, b, c, from zips that subset has over 150 duplicate sections (and my scroll buffer filled up at ~4000 lines, with more tree left to print).
I think this structure is getting created in the compiler (not the normalizer), but we do normalize QScript as we compile, so we need to keep that in mind. In autojoin we create the ConcatArrays structure that dominates the tree. Coming out of the autojoin though, we see this structure "condensed", and not duplicated. So post-autojoin we are exploding out this structure, which is what we need not to do.

Good – this matches our suspicions – I think we need to make sure we pruneArrays along with (before) the incremental normalization. It might not help as much as we’d like (because we don’t always know whether we still need the provenance info until we get closer to the root), but it should be a fairly easy change to make and something we should be doing anyway. We need to make sure we run pruneArrays across the full branches at each step, though, and not just at the current node.
If that’s not sufficient, then we probably need to start common subexpression elimination.

@sellout I don't think it's possible to pruneArrays before incremental normalization (in convertAndNormalize) because at that stage we are still working with a Target which contains unreified provenance and value information. The Ann at this stage may still contain references to an array in the value. We could run pruneArrays also considering the Ann, sort of doing a fake reification that is not propagated forward, but I'm not confident that is the correct approach.
I'm also not sure yet if we can call pruneArrays incrementally where we call normalizeCoEnv on various Free structures; this might have the same problem as above.
Additionally, even if we could call pruneArrays incrementally, for a query with just a few fields selected, the subquery alone will still have over 100,000 lines of QScript (post inlining), and I think that's an underestimate. From what I can see, we have a subexpression factored out nicely after we perform a series of autojoin, and then we perform a massive inlining of that substructure (in coalesceQC, and maybe other places). Calling pruneArrays before we inline wouldn't really have an effect because all (or nearly all) indices in that substructure are used at various places. And so we have to create the massive substructure before we can prune it, but we need to avoid creating that massive substructure entirely.
I've accounted for the creation of about half of the duplicate structure, but not all of it yet. So I'd like to fully understand if coalesceQC is responsible for all the inlining or if there's another source.

For example, in coalesceQC we replace every SrcHole in the FreeMap of the Map with the repair of the LeftShift, thereby eliminating the Map. This pattern of replacement combines exponentially and gives us our giant QScript.
I think that pruneArrays addresses the symptoms rather than the cause of the problem. Now, subexpression elimination is no small task to implement in QScript, so at this investigation stage I'd still like to think more if we can improve compile performance at all without such a drastic step (albeit a step we've expected to have to do). But since we are the ones explicitly creating the pattern of ConcatArrays with access to the left and right sides, I think there may be a way we can be smarter in the entire process of merging and concating.
  1 Map(
  2   LeftShift(
  3     BucketField(BucketField(Root,SrcHole,Constant(Str(test))),SrcHole,Constant(Str(zips))),
  4     SrcHole,
  5     IncludeId,
  6     ConcatArrays(
  7       MakeArray(ConcatArrays(MakeArray(LeftSide), MakeArray(RightSide))),
  8       MakeArray(ConcatArrays(
  9         ConcatArrays(
 10           MakeArray(MakeArray(ProjectIndex(
 11             ProjectIndex(
 12               ConcatArrays(MakeArray(LeftSide), MakeArray(RightSide)),
 13               Constant(Int(1))),
 14             Constant(Int(0))))),
 15           MakeArray(ProjectIndex(
 16             ProjectIndex(
 17               ConcatArrays(MakeArray(LeftSide), MakeArray(RightSide)),
 18               Constant(Int(1))),
 19             Constant(Int(1))))),
 20         MakeArray(Constant(Str(a))))))),
 21   ConcatArrays(
 22     ConcatArrays(
 23       ConcatArrays(
 24         MakeArray(MakeArray(ProjectIndex(ProjectIndex(ProjectIndex(SrcHole, Constant(Int(0))), Constant(Int(1))), Constant(Int(0))))),
 25         MakeArray(MakeArray(ProjectIndex(ProjectIndex(ProjectIndex(SrcHole, Constant(Int(1))), Constant(Int(0))), Constant(Int(0)))))),
 26       MakeArray(ProjectIndex(ProjectIndex(ProjectIndex(SrcHole, Constant(Int(0))), Constant(Int(1))), Constant(Int(1))))),
 27     MakeArray(ProjectField(ProjectIndex(ProjectIndex(SrcHole, Constant(Int(1))), Constant(Int(1))), ProjectIndex(ProjectIndex(SrcHole, Constant(Int(1))), Constant(Int(2)))))))

I don't think it's possible to pruneArrays before incremental normalization (in convertAndNormalize) because at that stage we are still working with a Target which contains unreified provenance and value information.

We can still apply pruneArrays before normalization – if an array is accessible via the Ann, then it must be accessible via Target.value, which means it won’t get pruned anyway.
Also, I think putting pruneArrays between convert and normalize is the right thing to do anyway. We should be composing these things as much as possible rather than chaining them. That it might reduce this problem is just the reason to make that change now.
I agree that we can perhaps improve the way we deal with concatting/merging, etc. There are definitely places we duplicate things when we could instead unify references (without yet getting into CSE).

@sellout We need to take the Ann into account at the time of calling pruneArrays - that was my point. If there is an array in the value, that array might be dereferenced in the annotation, meaning, we will prune that too much (removing indices which are actually used) if we don't also take the annotation into account.

Update: So, we indeed can correctly call pruneArrays during incremental compile. This is because any array at the "root" level (the level that is be referenced by the annotation) cannot be pruned because this array represents the result of the query (at that stage), which we are required to return in full to the user (eventually). At the end of the world we can pruneArrays again after we reify provenance and values.
But adding in this extra incremental array pruning doesn't solve our problem one bit. And compile times only get slower (we're walking the giant tree one more time). It doesn't solve our problem because the giant array we create is at the "root" level at the stage we call MapFunc.normalize. Within this array there are subarrays that could be pruned, but this is not a case that pruneArrays currently looks for. So, at the time of the horrible inlining, we create the giant array at the "root" level, and so pruneArrays has no effect. So I still maintain that we shouldn't be inlining because that's causing the exponential growth of the size of the tree. And array pruning doesn't work unless you are pruning a non-"root" value.

Yes! I just compiled a select query with 20 fields in 0.357s. Fingers super-crossed that this fix is for real :) Previously 9 fields took > 300s to compile while now 9 fields compile in 0.189s. I simply ran normalizeMapFunc incrementally inside coalesceQC in the case that I knew was being hit tens of thousands (or more) of times. I will add normalizeMapFunc to all the other cases in coalesceQC as well. But the commonly-hit case was Map(LeftShift, _), as discussed previously as the source of the massive inlinings.
Still need to run tests, there could be more work left. But this is a big win so far.

TODO for self - time the QScript compilation of all the integration test queries that are running slowly to determine if we have other performance bugs in QScript.

Yes! I just compiled a select query with 20 fields in 0.357s. Fingers super-crossed that this fix is for real :) Previously 9 fields took > 300s to compile while now 9 fields compile in 0.189s.

This is a huge improvement! Ultimately I'd like compilation time to be insignificant (e.g. one to two orders of magnitude faster than presently for these sized queries). But one step at a time. 😄

@jdegoes I agree that we'll need to make QScript compile faster down the road. Right now QScript compile generally dominates the time it takes to go from raw SQL^2 to QScript. But for now, backend computation is dominating the query time, at least for some backends. We'll take a careful look at this when we switch out old mongo for mongoq, and we might need to work more on QScript performance then so that mongoq is as fast as old mongo.


Make the tables responsive

We either need another Design for this or make it scroll able on mobile.

I was thinking we could use disclosures here, similar to how I did the app tokens list. Then the full information can only be shown when expanded

How would you manage that with a disclosure?

It'd be entirely replacing the table with a list of disclosures, like I did here:
https://github.com/flathub/website/blob/main/frontend/src/components/application/AppVendingControls/OwnershipTokens/TokenList.tsx
https://github.com/flathub/website/blob/main/frontend/src/components/application/AppVendingControls/OwnershipTokens/TokenListItem.tsx
When collapsed, items can only show the most relevant/distinguishing information which removes the need to cram so much into limited horizontal space. Then when expanded the further details and interactions are available.
Essentially just a way to move to a more vertical layout for easy scrolling and responsive design for narrower screens, while retaining the condensed sequence of transactions.


Progress badge is not rendered centered

Before:

After:

PR: https://github.com/microsoft/vscode/pull/196724


Update ssh-agent plugin README.md

The instructions listed adding
zstyle :omz:plugins:ssh-agent agent-forwarding on

However the script is looking for a yes value later on, Docs should say to use yes not on.

The value on is still valid. The documentation says:

Note that the values of several of these styles represent boolean values. Any of the strings ‘true’, ‘on’, ‘yes’, and ‘1’ can be used for the value ‘true’

on seems like a more semantic word than yes


OpenApiComparer not working at all

Try to compare 2 documents (loaded from OAS 3.0 files).
The first one has 27 paths, the second one has 31 paths and no differents found.

Ok, looks like a work in progress... maybe avoid having public method in your library that is not fully implemented... or throw the right exception...


Dataset download fail

Dear authors,
I was trying to download the dataset such as "Mnist to UPS", but none of these dataset is still available. The link seems invalid. Would you please kindly provide us with the dataset to play around with your code?
Thanks!

"Mnist to UPS" could be downloaded from https://www.dropbox.com/s/xjt8gzdfwlyugsg/mnist2usps.zip?dl=0

Dear authors,
I was trying to download the dataset such as "Mnist to UPS", but none of these dataset is still available. The link seems invalid. Would you please kindly provide us with the dataset to play around with your code?
Thanks!

"Mnist to UPS" could be downloaded from https://www.dropbox.com/s/xjt8gzdfwlyugsg/mnist2usps.zip?dl=0


Suggestion: removing epsilon segments

As I understand it, epsilon segments were added to support  index routes in a library like Router.js. While they do allow us to create that feature, they also bring some issues.
For instance, consider 3 epsilon segments in a row. Is that something worth supporting? I think allowing for epsilon segments means that we must, yet I'm not sure of the utility.
At the moment, epsilon segments are the last thing keeping route-recognizer from having a matching algorithm based solely on specificity and not order added. If you set up a test with 3 epsilon segments, and then a second route with 1 epsilon route, the order that you add them in determines which is matched.
It's probably not impossible to fix this, but is it worth it? If they're only around for index states, then there are more efficient ways to go about adding those in, without any side effects. If multiple epsilon segments is something that Ember wants to support, then there's more work to be done!
I can PR a fix for the sorting issue of epsilon segments, but I think a better idea would be to remove them if they're only around to allow for index states.

Here's an example test that shows an issue with epsilon segments:
test("Handle double empty segments before single empty segments.", function() {
  var handler1 = { handler: 1 };
  var handler2 = { handler: 2 };
  var handler3 = { handler: 3 };
  var router = new RouteRecognizer();

  router.add([{ path: "/", handler: handler1 }, { path: "/", handler: handler2 }]);
  router.add([{ path: "/", handler: handler3 }]);

  resultsMatch(router.recognize("/"), [
    { handler: handler1, params: { }, isDynamic: false },
    { handler: handler2, params: { }, isDynamic: false }
  ]);
});

the order that you add the segments in determines whether the test succeeds or fails, which is no good.

This is addressed by maintaining specificity on two axes: segment score, and segment count. I've addressed it in ember-route-recognizer.

Test ported upstream and passing. 😜

Cool. I see you cover those two concepts in your blog post – can't wait to read it.

As an aside, I've always felt that the NFA approach taken by this lib was a bit heavy for what this lib does, so I'm surprised that it's stuck around in your rewrite. I could never find any substantial docs justifying using it over something more ad hoc but simpler, but I'm anxious to be convinced to change my mind by your post :)

@jmeas My implementation is really just a radix trie but using a NFA-like transition function to walk it. /*foo/:bar is the only reason we must use the NFA approach. I tried to do a pure radix trie solution in #90 but ran into showstopping problems. The other options in this space (brzozowski derivatives, bunch of regular expressions) have perf hits that we can't have.

Closing this as it would break our backwards compatibility story and the goals we have around specificity.


Removed unused make file command

The docker build commands now reside in the docker-antidote repository.

I think we make the workflow unnecessarily complex for people who use local builds if we require to pull another repo. I was under the impression that the Docker repo was mainly intended for the Dockerhub Builds. Can you confirm @ilyasToumlilt  ?

Also, why is rebar3 as test coveralls send failing? I don't see an error message.

Coveralls is currently down for maintenance according to their webpage.
Also have a look at that:

I think we make the workflow unnecessarily complex for people who use local builds if we require to pull another repo. I was under the impression that the Docker repo was mainly intended for the Dockerhub Builds. Can you confirm @ilyasToumlilt ?

Docker repo is mainly used for Dockerhub builds, but it contains good documentation for local ones also.
It makes sense for me to keep all Dockerfiles organised, updated and documented in the Docker repo, as we have many build recipes for different Antidote versions/dependencies.
I think, keeping this local build command can benefit to Antidote developers that want to quickly build a docker image from their modified sources without fetching the Docker repo and doesn't need Docker repo's benefits. But for Antidote users, it's better not to use this, and pull stable images from the hub.

I'm going to modify the current make command in the antidote repository to enable local builds without pulling the docker-antidote repository.


[objc] Special case System.String when generating from mscorlib.dll

When running e4k on mscorlib.dll System.String is generated as NSString *
** Class NSString *
 *  Corresponding .NET Qualified Name: `System.String, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089`
 */
@interface NSString * : NSObject <System_IComparable, System_ICloneable, System_IConvertible, System_Collections_IEnumerable> {
	@public MonoEmbedObject* _object;
}

- (nullable instancetype)initWithC:(unsigned short *)aUshort count:(int *)count;

/** This type is not meant to be created using only default values
 *  Both the `-init` and `+new` selectors cannot be used to create instances of this type.
 */
- (nullable instancetype)init NS_UNAVAILABLE;
+ (nullable instancetype)new NS_UNAVAILABLE;

Because of this the generation of property_type, field_type, return_type and parameter type is wrong and we get some NSString * * or NSString **.
E.g.
- (NSString **)applyPolicyAssemblyName:(NSString * *)assemblyName;
@property (nonatomic, readonly) NSString * * category;

I believe we should special case System.String.

I believe this patch handles this -https://gist.github.com/cace5af3585db61daf82664c41f360fd
But there is no way to regression test this until we decide/get all of mscorlib building.

@spouliot - Is that worth spending time on?

@chamons not urgent. We should generate correct code first. It's also a moving target as we started (not ended) exposing other types (either directly or by conversion)


V2 - Only nirupamav user (project manager) is not able to fetch signed CCLA/ICLA document

Observed that the only nirupamav user(project-manager) of cla group is forbidden to fetch the signed ccla/icla documents. It is working fine with other users
User nirupamav has project-manager role in IAM for DPDK foundation
User has access to the project in cla-dev-user-permissions table in V1 database
Project Name - DPDK Core
Project SFID - a092M00001IV4ARQA1
CLA Group Name - DPDK-Core CCLA_ICLA_EmployeeICLA_Yes
CLA Group ID - 6430f241-f118-4379-9713-beb68e61fedc
Endpoint for CCLA https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/signatures/91d68b67-f992-4c46-8113-c46e68f3ce45/signed-document
Endpoint for ICLA https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/signatures/e2a5ae82-ac5c-41f5-89a2-9173ac12f045/signed-document

Root cause:
We were not checking the admin permission in the api.
and if user have system-admin role then api-gw does not write individual scopes instead it just write admin flag as true.

Verified and observed that the issue is fixed and also performed regression to check if other scenarios are working as expected


Date not showing properly on x-axis

Hi
Just started using this plugin.
I'm trying to create a box plot chart in my dashboard.
So far i have the boxplot appearing and i was also able to change its color.
My issue is with the dates in the xAxis, as they are showing as repeated values of January 1 1970.

Is my time column in an unsupported format? Or am i missing some plugin configurations?

The processing script is:
let boxplot_data;

data.series.map((s) => {
 boxplot_data = s.fields.reduce(function ( a, current ) {
      a[current.name] = current.values;
      return a;
  }, {});
  Object.assign(boxplot_data, {type: "box"});
  return boxplot_data;
});

return {
  data : [boxplot_data],
  config : {
  displayModeBar: true
  }
}

I fixed the time axis by adding the following line before the Object assign
...
  boxplot_data["x"] = boxplot_data["time"];
  Object.assign(boxplot_data, {type: "box"});
  ...
});

Now the dates are ok


noRender is no effect

file is error but function is not running

@cyntler Is there something wrong with the way I'm using it ， Desperate for a solution

@

@wqudhqdh the above problem is occurring for the MS Office files? I suppose so. What can I say? In the case of MS Office files, I can't do anything at this moment.
The best way would be to replace the current method of MS Office files rendering process on the library, but I don't think that we have a good solution to render DOCX, XLS and PPTX files on the browser.

So we just have to use the default error message, right？ @cyntler

now is use Microsoft online rendering？ so this error message is form Microsoft online @cyntler


Store GEANT4 (sub)process codes directly

Previously we were expecting to translate the 'process' and 'subprocess' codes from GEANT4 into our own caf::G4Proocess enumeration.  This is laborious and error-prone, however, and in the first main use case (ND), we're supplied the GEANT4 codes directly.
This PR changes the storage to be the codes passed directly from GEANT4, and includes links to the documentation where those values are explained.  This is probably the most maintainable solution anyway.
My belief is that neither ND nor FD CAFMaker is currently filling these values, so I don't expect it to be an issue, but I include some notable experts as reviewers (in addition to Tom, the usual suspect) to confirm that belief 😄

On the FD-CAFMaker side, this only requires a minor change. I will include this change in an update of https://github.com/DUNE/duneana/pull/40 PR together with some other additions this week.
So no problem on my side.


can't export mesh

[warning] AssetExtractor: Can't extract Object #588 (ClassID: 43, Class: Mesh),
caused by java.lang.NullPointerException
at info.ata4.unity.cli.extract.mesh.MeshData.readVertexBuffer(MeshData.j
ava:190)
at info.ata4.unity.cli.extract.mesh.MeshData.(MeshData.java:66)
at info.ata4.unity.cli.extract.mesh.MeshHandler.extract(MeshHandler.java
:40)
at info.ata4.unity.cli.extract.AssetExtractor.extract(AssetExtractor.jav
a:168)
at info.ata4.unity.cli.cmd.ExtractCmd.processAsset(ExtractCmd.java:43)
at info.ata4.unity.cli.cmd.AssetCommand.processAssetFile(AssetCommand.ja
va:100)
at info.ata4.unity.cli.cmd.AssetCommand.processFile(AssetCommand.java:90
)
at info.ata4.unity.cli.cmd.FileCommand.processPath(FileCommand.java:58)
at info.ata4.unity.cli.cmd.FileCommand.run(FileCommand.java:76)
at info.ata4.unity.cli.DisUnityCli.run(DisUnityCli.java:110)
at info.ata4.unity.cli.DisUnityCli.main(DisUnityCli.java:123)
Somebody please help me with this
why won't it even extract the meshes into .obj it just does extract any meshes

Probably an unsupported mesh format. In DisUnity 0.3, there's lots of problems with meshes because the mesh object format in Unity has so many different revisions and is quite complex, so I was able to support a small subset only. I plan to rewrite the mesh extractor for 0.4, but there's so much to do with the code right now...

Useing Lastest version of Disunity

I have an very simple idea, just ignore the mesh that can't parse :dancer:


Add transit_model to the list of GTFS converters

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: barbeau:x: woshilapinYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @woshilapin!


Remove default xaxis id

Removes the xAxis id default value. This makes it possible to add multiple XAxises without providing id's.
Hope it doesn't have any special meaning somewhere else.

I think the only place this is useful is for the highstocks-datepickers. But it would just be a readme update.


"Info" missing from json-asff output

Not really sure if this is an issue or if it was intentional, but I wanted to check to be sure... I noticed today that the result counts are different between json and json-asff output, and it turns out it's because it's missing from the "textInfo" function.
Was this deliberate or an oversight?

This was deliberate as the json-asff output is designed to be sent to AWS Secuity Hub, where each finding should concern a resource in AWS being either in or out of compliance. If you take a look at the info output, you'll see it's almost all textual info (often across multiple lines and therefore multiple textInfo calls) that is non-actionable. e.g. "This check requires manual checking" or "No buckets found in region X". When doing this it felt like having these text messages in Secuity Hub would just be noise, so I excluded them.

Yes, that's exactly the point.

How about an option (or maybe even default behavior) to include info in stdout without necessarily sending to Security Hub? I like the asff format, but I'm automating some tracking/trending around AWS account configs and would like that informational data.

You can add that logic to include/outputs into the function textInfo but without the tee command. I'd like to know more about the use case though.

Closing this issue since that info is implemented using json format and can be used for the purpose explained by the user.


Updating multiple hosts of multiple root domains

what about updating multiple hosts of multiple root domains I'm thinking of modifying the script to my specific configuration but I'm sure you have a better approach than me that would be more generic?

The script could be easily modified to update multiple domains if you wish. For now, I'd like to keep it as a simple DDNS script for personal use. Please feel free to fork and submit a pull request if you put something together.


The workaround to fix the label loss

Signed-off-by: nullday<EMAIL_ADDRESS>#740

LGTM :+1:
/lgtm


New 3.1 slider boxes work terribly with a Wacom tablet

Godot version:
current master of 3.1
OS/device including version:
Win10 960m
Issue description:
The new slider boxes in 3.1 don't work at all with a Wacom tablet. I am using an Intuos Pro, but this problem likely exists with all models. The sliders with the circle work ok, but the slider boxes with no graphical slider just jump to a random location in the positive direction, regardless of how much I move the cursor or in which direction.
As illustrated in this gif, I am only very slightly moving the cursor for these massive jumps. I should note that every other piece of software I use works with a Wacom correctly, including non graphic apps like DAWS and browsers.

Steps to reproduce:
Minimal reproduction project:

It seems that I'm also having issues.  For me towards, with the stylus on the left or right side the number jumps either to min or max value respectively, without moving the stylus at all.  Moving the stylus up or down does nothing and neither does the y position.  It feels like the absolute x position (with origin being the center of the tablet) is being added directly to the value every update.
Godot version:
3.1.dev.custom_build.2365fe4
OS:
Arch Linux (4.17.2-1-ARCH)
Tablet:
Wacom Co., Ltd CTE-650 [Bamboo Fun (medium)]

@speckledsea yeah, for me in 3.1 I can barely click on a sliderbox to be able to even type in a value. As soon as you try to click a box to get the cursor it will jump to a random value. As seen at the very start of the gif above, it even does this with the standard circle slider.
I have been using an Intuos almost exclusively in Godot pre 3.1 and it mostly works. except for the stuck cursor bug which happened on sliders. This was not related to the Wacom though as it also happened with mouse/trackpad for me. With 3.1 the stuck cursor bug has gone, but the aforementioned issues have taken it's place.

this has been fixed in master, with the switch to RawInput

Linux still have this issue. @reduz's modifications 2db4942 should be able to be implemented after #19191.
CC @cosmicchipsocket

I'll see if I can get my PR fixed tonight. What about macOS and Haiku? Will they be getting raw input support?

Only if someone knows/wants to implement for these platforms.


Broken Link

On the html page for Chapter 1.0, the link at the bottom to 'Introduction to Linear Algebra for Quantum Computing' reroutes to https://community.qiskit.org/textbook/ch-prerequisites/linear_algebra.ipynb when it should actually go to https://community.qiskit.org/textbook/ch-prerequisites/linear_algebra.html .

After migrating to Jupyter Book, this is no longer an issue. Closing.


Complete the options for 'docker plugin install'

Signed-off-by: Yanqiang Miao<EMAIL_ADDRESS>
- What I did
- How I did it
- How to verify it
- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

LGTM


Fix scale function

The function wasn't working in these cases:
scale(xFactor, yFactor)
scale(xyFactor, options)
Fix #598

Fix #598

Thanks!


Blur screenshots and resolve comments

Blur screenshots for W1 L4567 and resolved comments 16,17,19

Just a small remark.
In some screenshots the Fleet detail is blur but other not.
It is not a major point. Just for the sake of consistency


[Feature Request]: Scroll driven Animation

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I would like to add scroll driven animation to the page using only CSS, So i request to assign this to me.
I have a good grip of CSS and its my pleasure to contribute to this repo.
Thank you
Record

[X] I agree to follow this project's Code of Conduct
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

Also i forgot to mention that please take this under hacktoberfest.


Contours docs

Broken link to the docs in the notebook.
Example still using lower:interval:upper instead of lower:upper:interval

Has been resolved on https://github.com/MiraGeoscience/geoapps/commit/c6b3af1fa7804992e5c2c65036bada2cc12e40aa


Migration

Here are a few examples:
https://github.com/conda-forge/pytorch_cluster-feedstock/pull/26/files
https://github.com/conda-forge/pytorch_spline_conv-feedstock/pull/18/files
This should help when we get to pytorch 1.11
Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Yes.


Create a CELO compatible fork of ganache monorepo

A fork of Ganache that is compatible with CELO.
### Tasks
- [ ] Adding precompiles to be deployed during chain genesis
- [ ] Adding support for optional celo fee currency
- [ ] Adding support for personal decrypt

Current working branch:
https://github.com/celo-org/ganache/tree/soloseng/CELO-support
These changes have not yet been published.

Original ganache-core fork did not actually support fee currency payment.
When submitting a transaction using any stable token, the stableToken amount does not actually get decremented.
Question now is:
To what extent do we want to add that functionality to ganache?
NB: fee currency works properly in e2e test, when using geth

Released an unofficial ganache fork NPM package under the @celo namespace
link to the repo


Crowd AI Plant Disease Prediction

Hi @TAHIR0110  ,
I hope you're doing well. I've addressed the issue #211  and created a pull request to resolve it.
Could you please review the PR and let me know if any adjustments are needed?
Best regards,
Tanisha Garg

@TAHIR0110 Please check the level labels again before merging and assign it according to my PR work.

@TAHIR0110 Please merge

@Atharv714 @TAHIR0110 Please assign me this and update the level because you have merged it without assigning and giving the level labels due to which it is not showing in my leaderboard.

@Atharv714 @TAHIR0110 Assign me this so that I can get points in my leaderboard.


Update screen.c

CodeScene Delta Analysis Results
View detailed results in CodeScene

Recommended Review Level
Detailed -- Inspect the code that degrades in code health.

Warnings
Degrades in Code Health

scrcpy/app/src/screen.c degrades from a Code Health of 9.25 -> 8.58

Code Health Delta Descriptions
screen.c
Degradations

Overall Code Complexity - new issue
Bumpy Road Ahead (server_connect_to has 2 logical blocks with deeply nested code. Threshold is one single block per function) - new issue

CodeScene Delta Analysis Results
View detailed results in CodeScene

Recommended Review Level
Detailed -- Inspect the code that degrades in code health.

Warnings
Degrades in Code Health

scrcpy/app/src/screen.c degrades from a Code Health of 9.25 -> 8.58
scrcpy/server/src/main/java/com/genymobile/scrcpy/Server.java degrades from a Code Health of 8.33 -> 5.19

Code Health Delta Descriptions
screen.c
Degradations

Overall Code Complexity - new issue
Bumpy Road Ahead (server_connect_to has 2 logical blocks with deeply nested code. Threshold is one single block per function) - new issue

Server.java
Degradations

Excess Number of Function Arguments : the functions: possibleToPlace exceeed the threshold for number of arguments, max 5 arguments. - new issue
Deep, Nested Complexity : fullRecalc has a nested complexity depth of 6, searchForPlaceables has a nested complexity depth of 5, recalcNearby has a nested complexity depth of 5, toBreakNearPlayer has a nested complexity depth of 4, possibleToPlace has a nested complexity depth of 4 and 1 more functions. - new issue
Primitive Obsession - new issue
Complex Method: onTick cyclomatic complexity = 43, assemble cyclomatic complexity = 13, toBreakNearPlayer cyclomatic complexity = 13 - getting worse
Bumpy Road Ahead (onTick has 8 logical blocks with deeply nested code. Threshold is one single block per function) - getting worse

CodeScene Delta Analysis Results
View detailed results in CodeScene

Recommended Review Level
Detailed -- Inspect the code that degrades in code health.

Warnings
Degrades in Code Health

scrcpy/app/src/screen.c degrades from a Code Health of 9.25 -> 8.58
scrcpy/server/src/main/java/com/genymobile/scrcpy/Server.java degrades from a Code Health of 8.33 -> 5.19

Code Health Delta Descriptions
screen.c
Degradations

Overall Code Complexity - new issue
Bumpy Road Ahead (server_connect_to has 2 logical blocks with deeply nested code. Threshold is one single block per function) - new issue

Server.java
Degradations

Excess Number of Function Arguments : the functions: possibleToPlace exceeed the threshold for number of arguments, max 5 arguments. - new issue
Deep, Nested Complexity : fullRecalc has a nested complexity depth of 6, searchForPlaceables has a nested complexity depth of 5, recalcNearby has a nested complexity depth of 5, toBreakNearPlayer has a nested complexity depth of 4, possibleToPlace has a nested complexity depth of 4 and 1 more functions. - new issue
Primitive Obsession - new issue
Complex Method: onTick cyclomatic complexity = 43, assemble cyclomatic complexity = 13, toBreakNearPlayer cyclomatic complexity = 13 - getting worse
Bumpy Road Ahead (onTick has 8 logical blocks with deeply nested code. Threshold is one single block per function) - getting worse

Review of New Files
0 new file(s) below the threshold for new code (9).
1 new file(s) where the code health is above the threshold.

CodeScene Delta Analysis Results
View detailed results in CodeScene

Recommended Review Level
Detailed -- Inspect the code that degrades in code health.

Warnings
Degrades in Code Health

scrcpy/app/src/screen.c degrades from a Code Health of 9.25 -> 8.58

Code Health Delta Descriptions
screen.c
Degradations

Overall Code Complexity - new issue
Bumpy Road Ahead (server_connect_to has 2 logical blocks with deeply nested code. Threshold is one single block per function) - new issue

Review of New Files
0 new file(s) below the threshold for new code (9).
1 new file(s) where the code health is above the threshold.

CodeScene Delta Analysis Results
View detailed results in CodeScene

Recommended Review Level
Detailed -- Inspect the code that degrades in code health.

Warnings
Degrades in Code Health

scrcpy/app/src/screen.c degrades from a Code Health of 9.25 -> 7.95

Code Health Delta Descriptions
screen.c
Degradations

Overall Code Complexity - new issue
Bumpy Road Ahead (scrcpy has 5 logical blocks with deeply nested code. Threshold is one single block per function) - new issue
Complex Method: scrcpy cyclomatic complexity = 47 - getting worse

Review of New Files
0 new file(s) below the threshold for new code (9).
1 new file(s) where the code health is above the threshold.


Show hover with base64 decoded values

for Secret properties - as for example below - so I don't have to base64 decode them manually:

@jfermi

open argo-cd project
navigate to secrets from the navigator pane
select secret file
in editor go to the secret form
continue as the video

https://user-images.githubusercontent.com/20525304/150298886-56150ca6-963f-4231-9852-3d5f46f6086d.mp4


Final Capstone: Motorcycle Appointment App Backend 👨🏾💻 🔗 👨🏾💻

Final Capstone: Motorcycle Appointment App Backend 👨🏾💻 🔗 👨🏾💻
In this pull request, we aim to merge the following changes to the main branch of this repository:

We created all tables pertaining to the project: ✔

User. To store data on registered users (username) 🏁
Motorcycles. To store data on motorcycles(name, price, duration to pay, etc.) 🏁
Reservations. To store data on reservations for motorcycles. 🏁

We created various models to interact with the database including associations. ✔

A motorcycle can have many reservations. 🏁
A reservation belongs to one motorcycle. 🏁

We also created the API controllers with the respective methods to handle different requests. ✔

Index. list all motorcycles and reservations. 🏁
Create. Allow the addition of a motorcycle, and reservations. 🏁
Show. Allow access to data of a specified motorcycle using their ID. 🏁
Destroy. Allow deletion of a motorcycle, with their reservations and reservations. 🏁

Created routes ✔
Created the testing for the backend API. ✔
Created a documentation. ✔

To see the documentation, start the server and visit link

Created and updated the readme file. ✔

link to front-end pull request
💯

Thank you very much for the good wishes. See you in the industry. @Meltrust 🎉


peer review

Loading Packages

install.packages("tidyverse")
library(tidyverse)

The code begins by loading the tidyverse package, which is essential for data manipulation and visualization in R.
Cleaning the Data

df <- read_csv("data/raw_data/deaths-leading-causes.csv", skip = 2)
filtered_df <- df[df$Cause %in% c("Acute myocardial infarction", "Malignant neoplasms of trachea, bronchus and lung", "Other chronic obstructive pulmonary disease", "All other forms of chronic ischemic heart disease"), ]
cleaned_df <- filtered_df[, c("Calendar Year", "Cause", "Ranking", "Total Deaths")]
colnames(cleaned_df) <- c("Year", "Cause", "Ranking", "Total Deaths")
cleaned_df <- cleaned_df %>%
filter(Year >= 2012)
cleaned_df = clean_names(cleaned_df)
write_csv(cleaned_df, "data/analysis_data/cleaned_file.csv")

The code provided showcases a comprehensive data preprocessing and cleaning process for two distinct datasets. In the first dataset, the script reads a CSV file containing information on leading causes of death, filters it to include only relevant causes such as acute myocardial infarction and malignant neoplasms of the trachea, bronchus, and lung, and selects essential columns like year, cause, ranking, and total deaths. The script then proceeds to rename the columns for clarity, filters the data for years from 2012 onwards, and finally saves the cleaned data to a new CSV file.
Review of  abstract
I have not had the opportunity to review the abstract, a crucial component that offers readers a comprehensive understanding of the primary focus and key findings presented in this paper. The abstract typically provides a condensed summary of the research objectives, methodology, results, and conclusions, serving as a roadmap for readers to navigate the paper's contents effectively.
Review of introduction
There is no introduction yet, but adding it will be of great help to this paper.
Introducing an introduction section to the paper would indeed be beneficial as it sets the stage for the entire study, providing context, and background information, and outlining the research objectives. The introduction serves as the reader's initial point of entry into the topic, offering a clear understanding of the problem being addressed and why it is significant.

Thanks, we successfully addressed these issues.


VS Code keeps crashing after update

Hello guys, VS Code had forcefully hanged and restarted like 7 times the last 3 days after update ships on Feb 03, 2019 and like 2 times the past 3 hours.
I don't know if any person experienced same issue.
Any suggestions?

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

Okay. I've done the installation and would be waiting for the next possible crash report. Thanks

Thanks

Code__PID__27044__Date__02_12_2019__Time_12_43_08PM__348__Log.txt
Hello @bpasero , though I kind of noticed the crash happens when am versioning with git in the inbuilt terminal. Kindly find here attached, is the latest of the crash report.

/duplicate https://github.com/Microsoft/vscode/issues/68721


Restrict access to the identity account in AWS

Currently anybody with access to the Digital Platform AWS accounts has access to the identity account.
This account will eventually include:

the requesting service (which makes holds in Sierra)
the requesting reporter (which will involve user data, see https://github.com/wellcomecollection/platform/issues/5208)
Sierra API credentials to look up patron information

This shouldn't be part of our default access – it should be a pre-approved list of devs working on requesting.
All developers should have access to the read_only and billing roles, but not developer or admin. (Note: the read-only role can't read secrets.)

A reminder for anyone picking this up: Following this we should also be making sure that what ends up in CloudWatch logs in the Identity account is anonymised.

Following this we should also be making sure that what ends up in CloudWatch logs in the Identity account is anonymised.

Which is being tracked in https://github.com/wellcomecollection/platform/issues/5166

Call it done for now!


Email Gm/Dm when certain actions of users take place

Maybe not a good idea in case it was a mistake


Add UI Icons to site

depends on #239
Svetlana will be providing icon files for the custom icons she is making. After she completes her work, use them to add the remaining UI icons on the site.

we won't need you to make flag icons or anything else that is available from ionicons or MUI icons.


Add timeout to check-compatibility bootstrap phase

Added timeout to check-compatibility.sh script for node bootstrap. Currently lack of timeout causes 6h long test.

!ci-build-me

!ci-build-me

!ci-build-me

Closes 14350

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

I can now understand a new keyMap timeout_in_minutes is introduced as parameter for Base::Config with Type Integer.
Consequently, updated to +45 (to comply with the Integer Type of the existing timeout_in_minutes) the corresponding spec in Libp2pUnitTest.dhall, and introduced the new timeout in:

buildkite/src/Constants/DebianVersions.dhall
buildkite/src/Jobs/Test/BerkeleyCompatibility.dhall, and
buildkite/src/Jobs/Test/DevelopCompatibility.dhall

!ci-build-me


Static Interface to reduce Signals.Get() overhead

Hi,
I propose a static interface to reduce the Signals.Get() overhead, when I just want to add quick Listeners to events.
e.g.
Signals.AddListener<OnEnterSafeZoneSignal>(OnEnterSafeZone);
Signals.Dispatch<OnEnterSafeZoneSignal>();

When dispatching signals with parameters, the interface would be a little cluttered (but typesafe and consistent). Not sure if it's needed though.
I would also like to look into this myself

Hi @Benjamin-Justice,
even though it might clutter the Signals class a bit, I think your proposal adds value in usability and helps readability when not wanting to cache the signal (which has a performance benefit, when using the signal extensively.
This would be the changes syntax with all its use cases
// Add signals
// From
Signals.Get<BasicExampleSignal>().AddListener(DefaultListener);
Signals.Get<BasicExampleSignal>().AddListener(FirstListener, -100);
// To
Signals.AddListener<BasicExampleSignal>(DefaultListener);
Signals.AddListener<BasicExampleSignal>(FirstListener, -100);

// Remove signals
// From
Signals.Get<BasicExampleSignal>().RemoveListener(DefaultListener);
// To
Signals.RemoveListener<BasicExampleSignal>(DefaultListener);

// Dispatching with support to up to three parameters
// From
Signals.Get<NoArgumentSignalTest>().Dispatch();
Signals.Get<OneArgumentSignalTest>().Dispatch(t);
Signals.Get<TwoArgumentSignalTest>().Dispatch(t, u);
Signals.Get<ThreeArgumentSignalTest>().Dispatch(t, u, v);
// To
Signals.Dispatch<NoArgumentSignalTest>();
Signals.Dispatch<OneArgumentSignalTest>(t);
Signals.Dispatch<TwoArgumentSignalTest>(t, u);
Signals.Dispatch<ThreeArgumentSignalTest>(t, u, v);

// Additional functionality
// From
Signals.Get<BasicExampleSignal>().Pause();
// To
Signals.Pause<BasicExampleSignal>();

// From
Signals.Get<BasicExampleSignal>().Continue();
// To
Signals.Continue<BasicExampleSignal>();

// From
Signals.Get<BasicExampleSignal>().Consume();
// To
Signals.Consume<BasicExampleSignal>();


[protocol] Move contract deployment to withdraw

Is your feature request related to a problem? Please describe.
We're gonna be bleeding gas money as long as we're opening new channels for everyone who visits the daicard ui.
Describe the solution you'd like
Don't create the user's channel until they've committed to depositing. Channel creation really shouldn't happen on connect, that should be a separate function.

Being worked on here: https://github.com/counterfactual/monorepo/pull/2467


GH-304 Track recently accessed orchestrations

Fixes #304

Applied to main (=2.1) and branch 2.0.


[v2] Help component

@nolimits4web
Would be great to have a help.
Here some examples:

They have a plugin that does this tour through APP. It's not in Material Design style but you can customize to look more like the design of project.
Framework7 Plugin Tour Guide: https://github.com/razekteixeira/Framework7-Plugin-Tour-Guide

@httpiago
I've seen that already but a integrated component in v2 would be amazing :)

Yeah, there is a plugin already for this. I think it is better to send request to the plugin author.

Closing for now


CLV Model Persistence

Saving & loading models is currently unsupported for the clv module. Let's look into doing so with ModelBuilder:
https://github.com/pymc-devs/pymc-experimental/blob/main/pymc_experimental/model_builder.py
Looking over the ModelBuilder source code, I'm happy to see it persists models in the NetCDF format, which is interoperable with the HDF5 format commonly used for DL models and spatial data. I strongly dislike pickling models due to the cybersecurity risks involved.
If it helps, when I added pymc as a backend to my fork of lifetimes, I added some simple functions to persist models as JSON files:
https://github.com/ColtAllen/btyd/blob/main/btyd/models/__init__.py#L157
The load_model function contains a _model_name check to prevent cases like a GammaGammaModel file accidentally being loaded into a BetaGeoModel instance.

Closing now that https://github.com/pymc-labs/pymc-marketing/pull/298 is completed.


Add Longhorn info to Rancher v2.5 docs

Can we remove the last line Manipulate Longhorn resources with kubectl ? It's not recommended to manipulate Longhorn resources with kubectl at the moment.

Ok, I have removed it. https://github.com/rancher/docs/commit/dc88f7a1195ffb68a9775c6be8d425cf7247a4fa


PowerToys taskbar menu shortcut

Description of the new feature / enhancement
I would like to be able to have a shortcut to open the taskbar menu.

Scenario when this would be used?
For people how don't like to memorize a lot of shortcuts, they could use all of the tools provided by PowerToys in one shortcut.
Supporting information
No response

I have an idea for this in #24880, what do you think about this?

/dup #23166


build: include build system dependencies in check_dependencies

Fixes #64
Signed-off-by: Filipe Laíns<EMAIL_ADDRESS>

@pfmoore can you confirm this solves your issue?

No, it still builds:
>type .\pyproject.toml
[build_system]
requires = ["setuptools >= 40.9.0", "wheel", "numpy"]
build-backend = "setuptools.build_meta"
PS 08:35 (e41e1642ae7e7ec) {00:00.041} C:\Work\Scratch\fff
>py -m build --no-isolation
running egg_info
writing fff.egg-info\PKG-INFO
writing dependency_links to fff.egg-info\dependency_links.txt
writing top-level names to fff.egg-info\top_level.txt
reading manifest file 'fff.egg-info\SOURCES.txt'
writing manifest file 'fff.egg-info\SOURCES.txt'
running sdist
running egg_info
writing fff.egg-info\PKG-INFO
writing dependency_links to fff.egg-info\dependency_links.txt
writing top-level names to fff.egg-info\top_level.txt
reading manifest file 'fff.egg-info\SOURCES.txt'
writing manifest file 'fff.egg-info\SOURCES.txt'
warning: sdist: standard file not found: should have one of README, README.rst, README.txt, README.md

running check
warning: check: missing required meta-data: url

warning: check: missing meta-data: either (author and author_email) or (maintainer and maintainer_email) must be supplied

creating fff-0.1
creating fff-0.1\fff.egg-info
copying files to fff-0.1...
copying pyproject.toml -> fff-0.1
copying setup.cfg -> fff-0.1
copying fff.egg-info\PKG-INFO -> fff-0.1\fff.egg-info
copying fff.egg-info\SOURCES.txt -> fff-0.1\fff.egg-info
copying fff.egg-info\dependency_links.txt -> fff-0.1\fff.egg-info
copying fff.egg-info\top_level.txt -> fff-0.1\fff.egg-info
Writing fff-0.1\setup.cfg
Creating tar archive
removing 'fff-0.1' (and everything under it)
running egg_info
writing fff.egg-info\PKG-INFO
writing dependency_links to fff.egg-info\dependency_links.txt
writing top-level names to fff.egg-info\top_level.txt
reading manifest file 'fff.egg-info\SOURCES.txt'
writing manifest file 'fff.egg-info\SOURCES.txt'
running bdist_wheel
running build
installing to build\bdist.win-amd64\wheel
running install
running install_egg_info
running egg_info
writing fff.egg-info\PKG-INFO
writing dependency_links to fff.egg-info\dependency_links.txt
writing top-level names to fff.egg-info\top_level.txt
reading manifest file 'fff.egg-info\SOURCES.txt'
writing manifest file 'fff.egg-info\SOURCES.txt'
Copying fff.egg-info to build\bdist.win-amd64\wheel\.\fff-0.1-py3.8.egg-info
running install_scripts
creating build\bdist.win-amd64\wheel\fff-0.1.dist-info\WHEEL
creating 'C:\Work\Scratch\fff\dist\tmpojzd5i_d\fff-0.1-py3-none-any.whl' and adding 'build\bdist.win-amd64\wheel' to it
adding 'fff-0.1.dist-info/METADATA'
adding 'fff-0.1.dist-info/WHEEL'
adding 'fff-0.1.dist-info/top_level.txt'
adding 'fff-0.1.dist-info/RECORD'
removing build\bdist.win-amd64\wheel
>pip list
Package    Version
---------- -------
build      <IP_ADDRESS>
packaging  20.4
pep517     0.8.2
pip        20.1.1
pyparsing  2.4.7
setuptools 46.4.0
six        1.15.0
toml       0.10.1
wheel      0.34.2

Is build_system a correct spelling for the build system entry? PEP 517 only refers build-system (here). What is happening here is that python-build is not finding a build-system entry and defaulting to the default build system table. If you apply the following patch it works.
--- a/pyproject.toml	2020-07-23 14:39:18.747501208 +0100
+++ b/pyproject.toml	2020-07-23 14:39:13.667470128 +0100
@@ -1,3 +1,3 @@
-[build_system]
+[build-system]
 requires = ["setuptools >= 40.9.0", "wheel", "numpy"]
 build-backend = "setuptools.build_meta"

Perhaps we could add a message telling that we are using the default build system table to help with issues like this.

OMG, I'm sorry for not spotting that! No, build_system is not a correct spelling, it was just me being dumb.
I did wonder, because my first attempt with the patched version used isolate mode (which is new compared to the release version I'd tried first) and that didn't install numpy either, which is far more strange. But rather than thinking "what have I done wrong", I simply concluded the issue hadn't been fixed. Doh 🙁
With this fix, everything is now working perfectly.
A message saying "build-system not specified, using the default value" would have helped, yes - that's a good suggestion.
Thanks for your patience here, I'm feeling suitably embarrassed now 😊

I did wonder, because my first attempt with the patched version used isolate mode (which is new compared to the release version I'd tried first) and that didn't install numpy either, which is far more strange.

Yeah, I really want to do a release to avoid people expecting the current behavior.

A message saying "build-system not specified, using the default value" would have helped, yes - that's a good suggestion.

I am gonna add that to my list, we would need to setup a logging system in ProjectBuilder for that.


Import feature flag validation API and related UI changes, validation table

This PR contains validation API, validation-related UI changes, and after validation compatibility table with spinner during validation.

@bcb37 just a clarification, does the warning state only come if any public subsegments of private segments are not present?

@bcb37 just a clarification, does the warning state only come if any public subsegments of private segments are not present?

That's my understanding, yes.

@Yagnik56 It looks like importing with dragging and dropping a file is not implemented yet.

When I try to import a feature flag (which I exported), I get a Not Found Error. What does this mean?

Can we get a link to the stories this is for?
This is a very Promise-heavy implementation. Angular is made for observables. Why are we using promises? Do we have to? Can we not?

I think I need to hear from @VivekFitkariwala or someone to understand Playpower's point of view about how the frontend is supposed to work from a high level to try and understand this PR, as it sounds like this was the recommended approach and I'm afraid we're giving incompatible advice to poor @Yagnik56.
Our various import components might as well come from a different project, they use promises and tip-toe around the state store, is there a reason or do we just hate dealing with observables that much?
to be clear, is it overkill to add actions and selectors and effects and new state and all of that every time we want to add something to the store? Yes! Definitely. Everything about ngrx is overkill! So are observables and rxjs. That's not my fault! I'm trying to learn to work with it better and not against it. The last thing we want are components that do their own thing for no discernible reason.

Global stores should not be used for states that need to be persisted if they will be used in the future by the same or other component. The import data will not be only during the popup, which was the reason for skipping the ngrx part and directly using the data service.

@danoswaltCL I was looking for a solution for managing the component level state and found this ngrx/component-store . I would love to hear your opinion on this.

yes 💯 , I've absolutely day-dreamed about using something like that, our components talk nice to each other in the redux flow, but local internal state management is still kinda messy to actually use that data.
I also think that Signals may be a huge help, have you used them yet? They are like observables but way simpler. I'm not sure what the trade-offs are working with them in a larger project, but I've used them a little and they're pretty great.
I just don't know how to go about introducing a change like that mid-stream.

Wow, recently we had this discussion if we can get away from the complicated rxjs syntax and simplify things. @RidhamShah has recently tried out signals and was going to bring this up in our scrum call.
Summary of our meeting: With Signal, we won't be able to replace the Action, Effects and Reducer of ngrx, only the selectors. The syntax of Signal is simple compared to the Observables we are creating for selectors but will introduce some learning curves.

@bcb37 @danoswaltCL While working on this task, I identified an issue within the FeatureFlagValidator component. The validator treats featureFlagSegmentInclusion and featureFlagSegmentExclusion as objects containing segments as an array. However, in all other instances, we have defined featureFlagSegmentInclusion and featureFlagSegmentExclusion as arrays of objects, each containing segment, enabled, and listType.
Additionally, this validator is utilized in the create and update calls of the FeatureFlag, which do not include featureFlagSegmentInclusion or featureFlagSegmentExclusion (only name, key, context, and tags are present). This discrepancy is likely why the error has not surfaced, but it is crucial that we address this issue before it causes any disruptions.

Okay, create a bug? I wasn't involved in the backend stuff I trust your analysis there

It seems like the compatibility type is always "Incompatible" even if I import the valid one (which I just exported).

It seems like the compatibility type is always "Incompatible" even if I import the valid one (which I just exported).

@zackcl Did you change the KEY after you exported the FF? duplicate key will give you an incompatible message...

@Yagnik56 No, I tried importing when there are no flags defined. I exported a feature flag, and then deleted the existing one, and then imported the exported one. Can you also try this yourself?

@Yagnik56 No, I tried importing when there are no flags defined. I exported a feature flag, and then deleted the existing one, and then imported the exported one. Can you also try this yourself?

@zackcl The export structure is not perfect, there were some property names mismatched, this is discussed in export PR. Its merge is remaining that's why exported FeatrueFlags shows error while importing

@VivekFitkariwala will check latest


Runtime Missing module error from UglifyJS plugin.

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
I have a Typescript project that I'm trying to bundle with Webpack, but I keep getting a runtime missing module error from what appears to be an issue including UglifyJS.
Also, the log message doesn't include the missing module file name:
"errorMessage": "Cannot find module \".\"",

If the current behavior is a bug, please provide the steps to reproduce.
To repro:
git clone https://github.com/vokkal/larynx-sample-highlow.git
cd larynx-sample-highlow
git fetch
git checkout --track -b webpack origin/webpack
npm install
npm run webpack

then check build/larynx_bundle.js and search for UglifyJS.FILES. You should see a bunch of requires for files not included with the bundle as below:
var UglifyJS = exports;
var FILES = UglifyJS.FILES = [
    "../lib/utils.js",
    "../lib/ast.js",
    "../lib/parse.js",
    "../lib/transform.js",
    "../lib/scope.js",
    "../lib/output.js",
    "../lib/compress.js",
    "../lib/sourcemap.js",
    "../lib/mozilla-ast.js",
    "../lib/propmangle.js",
    "./exports.js",
].map(function(file){
    return /*require.resolve*/(!(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()));
});

What is the expected behavior?
Those files should be included in the bundle.
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Using Node v6.9.5, Npm 3.10.10, and latest webpack version.
It looks like webpack is looking at the directory structure of the Uglify-js node module.
uglify-js
├── LICENSE
├── README.md
├── bin
│   ├── extract-props.js
│   └── uglifyjs
├── lib
│   ├── ast.js
│   ├── compress.js
│   ├── mozilla-ast.js
│   ├── output.js
│   ├── parse.js
│   ├── propmangle.js
│   ├── scope.js
│   ├── sourcemap.js
│   ├── transform.js
│   └── utils.js
├── node_modules
...

This is my tsconfig.json
{
  "compilerOptions": {
    "outDir": "build/",
    "sourceMap": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "target": "es5",
    "types": ["node"],
    "declaration": true,
    "noImplicitAny": true,
    "removeComments": true,
    "rootDir": ".",
    "lib": ["es2015", "es2015.promise", "dom"]
  },
  "include": [
    "./src/index.ts",
    "./src/*/**.ts"
  ],
  "exclude": [
    "lib",
    "build"
  ]
}

and my webpack.config.json
let path = require('path');
let webpack = require('webpack');
let ZipPlugin = require('zip-webpack-plugin');

module.exports = {
    entry: './src/index.ts',
    output: {
        path: path.join(__dirname, 'build'),
        filename: 'larynx_bundle.js',
        libraryTarget: 'commonjs',
        umdNamedDefine: false
    },
    externals: {
        "aws-sdk": "aws-sdk"
    },
    devtool: 'source-map',
    target: 'node',
    plugins: [
        new ZipPlugin({
            fileOptions: {
                mtime: new Date(),
                mode: 0o100664,
                compress: true,
                forceZip64Format: false,
            },
            pathPrefix: './',
        })
    ],
    resolve: {
        extensions: ['.ts', '.js']
    },
    module: {
        loaders: [
            {
                test: /\.ts$/,
                loader: 'ts-loader',
                exclude: /node_modules/,
            },
            {
                test: /\.js$/,
                loader: 'source-map-loader',
                exclude: /node_modules/,
            }
        ]
    }
};

Any advice?

This seems to be an issue when trying to self host webpack. I have a project where I'm targeting node and the project includes webpack. It turns out webpack can't bundle webpack! UglifyJS is structured such that its source is read in from the file system at runtime, concatenated and eval'd very module bundler unfriendly, and also kindof ironic.

What do you mean by self hosting? I'm not including it in my bundle... I tried installing webpack globally but I still got the same behavior.
Any ideas how I could work around this? It's really frustrating.

No idea, UglifyJS isn't written in a way that allows it to be bundled easily. I was just implying that webpack depends on UglifyJS and therefore you cannot bundle webpack, with wepback (because of UglifyJS).

Makes sense. I just don't understand why it's trying to pull uglifyjs into the bundle.

This issue is happening because uglify-js's dependencies can't be fully resolved via static analysis.
Any idea if webpack or uglify-js will come up with a solution for this?

@webpack-bot move to webpack-contrib/uglifyjs-webpack-plugin


Is there any plan to extend fiber beyond aws/gcp Kubernetes clusters?

So far it seems fiber only supports aws and gcp clusters, which might not be available to users for various reasons.
I believe the kubernetes_backend.py is generic enough to launch fiber 'Process' on customized Kubernetes clusters. However, it seems the fiber cli.py does not include options other than aws and gcp. I suggest we can extend fiber cli to generic Kubernetes clusters.

Hi @zw0610, you are right. Fiber CLI cli.py doesn't support launching things on generic Kubernetes clusters yet. But it's not hard to add that support.  For custom k8s cluster, you can probably use DockerImageBuilder to build locally and push to your own docker registry specified by --docker-registry argument. Would you be interested to make some changes to cli.py to add this support? It would be nice if you can make the change and test it on your cluster because I don't have a custom Kubernetes cluster at hand.

Hi @zw0610, you are right. Fiber CLI cli.py doesn't support launching things on generic Kubernetes clusters yet. But it's not hard to add that support.  For custom k8s cluster, you can probably use DockerImageBuilder to build locally and push to your own docker registry specified by --docker-registry argument. Would you be interested to make some changes to cli.py to add this support? It would be nice if you can make the change and test it on your cluster because I don't have a custom Kubernetes cluster at hand.

Sure. I'll file a pull request later.

Thank you!

Closing this now since the PR has been merged. It will be included in the next release soon.


Conflict between declarative_config parameter and service/route cache rebuilt & node synchro through DB

Summary
I opened issue https://github.com/Kong/kong/issues/4505 a few minutes ago... but it looks the problem is much more critical than initially thought: that's why I'm opening a different issue, and not only editing the previous one.
Indeed, it look the presence of the declarative_config parameter being set to a non empty value is not only generating a critical error message (as mentioned in https://github.com/Kong/kong/issues/4505), it is also conflicting with the re-build of the internal cache of Kong instances when using Kong with a database (problem seen with Postgres database; not tested with Cassandra)
Steps To Reproduce

Run a first Kong instance with postgres database and with a non empty declarative_config parameter (pointing to an empty file, for example)
The startup logs shows the critical message mentioned in https://github.com/Kong/kong/issues/4505
Create a Service and a Route, and call the route through the Proxy endpoint: everything is ok !
Launch a second instance of Kong (strictly similar to the first one, with the non empty declarative_config)
Create a new Route on the same service using one of the 2 instances (let's say instance nbr 1). Try to call the Route by using the same Kong instance: it should work as well.
Try to call the Route on the other instance (instance nbr 2): you have a very high probability to get a {"message":"no Route matched with those values"}

If the issue does not happen the very first time, try again to create a new Route... and you'll get the issue soon.
It also happens that when calling the Proxy endpoint of the same Kong instance as the one used for the creation of the Route (step 4. above), the {"message":"no Route matched with those values"} appears as well: the Route is not seen by the Kong instances that created it!! If so, of course, the Route is accessible from neither the first nor the second Kong instance...
Unfortunately, waiting seconds, minutes or hours (for a resynchro with the db, for example) has no effect: you will get {"message":"no Route matched with those values"} forever.
Nothing special appears in the logs: we can only see the regular access log saying that a 404 is returned to the caller.
NB: it looks this is the remaining problem I mentioned here: https://discuss.konghq.com/t/why-my-request-is-considered-as-a-mesh-request/3226/3
Additional Details & Logs

Kong version : 1.1.1
Kong debug-level startup logs:

Starting Kong
2019/04/12 16:03:13 [verbose] Kong: 1.1.1
2019/04/12 16:03:13 [debug] ngx_lua: 10013
2019/04/12 16:03:13 [debug] nginx: 1013006
2019/04/12 16:03:13 [debug] Lua: LuaJIT 2.1.0-beta3
2019/04/12 16:03:13 [verbose] reading config file at /opt/kong/etc/kong.conf
2019/04/12 16:03:13 [debug] reading environment variables
2019/04/12 16:03:13 [debug] KONG_ADMIN_LISTEN ENV found with "<IP_ADDRESS>:8001"
2019/04/12 16:03:13 [debug] KONG_PREFIX ENV found with "/opt/kong/var"
2019/04/12 16:03:13 [debug] KONG_PG_HOST ENV found with "kong-database-postgres"
2019/04/12 16:03:13 [debug] KONG_PROXY_LISTEN ENV found with "<IP_ADDRESS>:8443 ssl"
2019/04/12 16:03:13 [debug] KONG_DECLARATIVE_CONFIG ENV found with ""
2019/04/12 16:03:13 [debug] KONG_DATABASE ENV found with "postgres"
2019/04/12 16:03:13 [debug] KONG_LUA_SSL_VERIFY_DEPTH ENV found with "9"
2019/04/12 16:03:13 [debug] KONG_LOG_LEVEL ENV found with "debug"
2019/04/12 16:03:13 [debug] KONG_LUA_SSL_TRUSTED_CERTIFICATE ENV found with "/opt/kong/etc/combined-serverCA-gwafCA.crt"
2019/04/12 16:03:13 [debug] KONG_NGINX_DAEMON ENV found with "off"
2019/04/12 16:03:13 [debug] admin_access_log = "logs/admin_access.log"
2019/04/12 16:03:13 [debug] admin_error_log = "logs/error.log"
2019/04/12 16:03:13 [debug] admin_listen = {"<IP_ADDRESS>:8001"}
2019/04/12 16:03:13 [debug] admin_ssl_cert = "/opt/kong/etc/certs/changeme-kong_com-super-bundle.pem"
2019/04/12 16:03:13 [debug] admin_ssl_cert_key = "/opt/kong/etc/certs/changeme-kong_com-key.pem"
2019/04/12 16:03:13 [debug] anonymous_reports = false
2019/04/12 16:03:13 [debug] cassandra_consistency = "LOCAL_QUORUM"
2019/04/12 16:03:13 [debug] cassandra_contact_points = {"kong-database"}
2019/04/12 16:03:13 [debug] cassandra_data_centers = {"dc1:1"}
2019/04/12 16:03:13 [debug] cassandra_keyspace = "kong"
2019/04/12 16:03:13 [debug] cassandra_lb_policy = "RequestRoundRobin"
2019/04/12 16:03:13 [debug] cassandra_local_datacenter = "dc1"
2019/04/12 16:03:13 [debug] cassandra_port = 9042
2019/04/12 16:03:13 [debug] cassandra_repl_factor = 1
2019/04/12 16:03:13 [debug] cassandra_repl_strategy = "NetworkTopologyStrategy"
2019/04/12 16:03:13 [debug] cassandra_schema_consensus_timeout = 120000
2019/04/12 16:03:13 [debug] cassandra_ssl = false
2019/04/12 16:03:13 [debug] cassandra_ssl_verify = false
2019/04/12 16:03:13 [debug] cassandra_timeout = 5000
2019/04/12 16:03:13 [debug] cassandra_username = "kong"
2019/04/12 16:03:13 [debug] client_body_buffer_size = "8k"
2019/04/12 16:03:13 [debug] client_max_body_size = "0"
2019/04/12 16:03:13 [debug] client_ssl = false
2019/04/12 16:03:13 [debug] database = "postgres"
2019/04/12 16:03:13 [debug] db_cache_ttl = 0
2019/04/12 16:03:13 [debug] db_resurrect_ttl = 30
2019/04/12 16:03:13 [debug] db_update_frequency = 5
2019/04/12 16:03:13 [debug] db_update_propagation = 0
2019/04/12 16:03:13 [debug] dns_error_ttl = 1
2019/04/12 16:03:13 [debug] dns_hostsfile = "/etc/hosts"
2019/04/12 16:03:13 [debug] dns_no_sync = false
2019/04/12 16:03:13 [debug] dns_not_found_ttl = 30
2019/04/12 16:03:13 [debug] dns_order = {"LAST","SRV","A","CNAME"}
2019/04/12 16:03:13 [debug] dns_resolver = {}
2019/04/12 16:03:13 [debug] dns_stale_ttl = 4
2019/04/12 16:03:13 [debug] error_default_type = "application/json"
2019/04/12 16:03:13 [debug] headers = {"server_tokens","latency_tokens"}
2019/04/12 16:03:13 [debug] log_level = "debug"
2019/04/12 16:03:13 [debug] lua_package_cpath = ""
2019/04/12 16:03:13 [debug] lua_package_path = "/opt/kong/lib/?.lua;;"
2019/04/12 16:03:13 [debug] lua_socket_pool_size = 30
2019/04/12 16:03:13 [debug] lua_ssl_trusted_certificate = "/opt/kong/etc/combined-serverCA.crt"
2019/04/12 16:03:13 [debug] lua_ssl_verify_depth = 9
2019/04/12 16:03:13 [debug] mem_cache_size = "128m"
2019/04/12 16:03:13 [debug] nginx_daemon = "off"
2019/04/12 16:03:13 [debug] nginx_optimizations = true
2019/04/12 16:03:13 [debug] nginx_sproxy_directives = {}
2019/04/12 16:03:13 [debug] nginx_stream_directives = {}
2019/04/12 16:03:13 [debug] nginx_user = "bob bob"
2019/04/12 16:03:13 [debug] nginx_worker_processes = "auto"
2019/04/12 16:03:13 [debug] origins = {}
2019/04/12 16:03:13 [debug] pg_database = "kong"
2019/04/12 16:03:13 [debug] pg_host = "kong-database-postgres"
2019/04/12 16:03:13 [debug] pg_port = 5432
2019/04/12 16:03:13 [debug] pg_ssl = false
2019/04/12 16:03:13 [debug] pg_ssl_verify = false
2019/04/12 16:03:13 [debug] pg_timeout = 5000
2019/04/12 16:03:13 [debug] pg_user = "kong"
2019/04/12 16:03:13 [debug] plugins = {"bundled"}
2019/04/12 16:03:13 [debug] prefix = "/opt/kong/var"
2019/04/12 16:03:13 [debug] proxy_access_log = "logs/access.log"
2019/04/12 16:03:13 [debug] proxy_error_log = "logs/error.log"
2019/04/12 16:03:13 [debug] proxy_listen = {"<IP_ADDRESS>:8443 ssl"}
2019/04/12 16:03:13 [debug] real_ip_header = "X-Real-IP"
2019/04/12 16:03:13 [debug] real_ip_recursive = "off"
2019/04/12 16:03:13 [debug] ssl_cert = "/opt/kong/etc/certs/changeme-kong_com-super-bundle.pem"
2019/04/12 16:03:13 [debug] ssl_cert_key = "/opt/kong/etc/certs/changeme-kong_com-key.pem"
2019/04/12 16:03:13 [debug] ssl_cipher_suite = "modern"
2019/04/12 16:03:13 [debug] ssl_ciphers = "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
2019/04/12 16:03:13 [debug] stream_listen = {"off"}

Operating system: Alpine

Hi @pamiel — yes, the declarative_config entry is incompatible with database mode. Teh behavior you describe, however, is not acceptable — we should either refuse to start if declarative_config is set with database=postgres|cassandra, or ignore it altogether. The latter matches the general behavior of kong.conf better — after all, cassandra_keyspace is happily ignored when database=postgres, for example. Will try to reproduce and work on a fix — thanks for reporting.


cmd/go/doc & tools/cmd/godoc: whitespace/indentation in the source leaks to the output

What version of Go are you using (go version)?
go1.7
What did you do?
I have a func:
func (q Query) Join(inner Query,
	outerKeySelectorFn interface{},
	innerKeySelectorFn interface{},
	resultSelectorFn interface{}) Query {

I run go doc Query.JoinT command on this package.
What did you expect to see?
I expected to see a canonicalized single-line representation of the signature (or however the cmd sees it would render better in the output).
So if I change the indentation in the source code to the following, I expect to see the output would remain consistent:
func (q Query) Join(inner Query, outerKeySelectorFn interface{}, innerKeySelectorFn interface{}, resultSelectorFn interface{}) Query {

What did you see instead?
The exact indentation in the source code, leaks to the go doc and godoc output.
If I move all parameters to a single line above, go doc Query.JoinT or godoc . produce single line method-signature, just like in the source code:
$ go doc Query.JoinT
func (q Query) JoinT(inner Query, outerKeySelectorFn interface{}, innerKeySelectorFn interface{}, resultSelectorFn interface{}) Query

I think the godoc/go doc output should be free of how the indentation was made in the source code. This leads to inconsistent go doc output for my users, if I have inconsistent styling in my source code.

Or maybe this is intentional? One could argue that it's preserving the code's formatting because the author decided it was most readable that way. I'm not sure, though?
@robpike, @dsnet?

Go doc prints what go/format prints.
@griesemer

The documentation for go doc says:

Doc prints the documentation comments associated with the item identified by its
arguments (a package, const, func, type, var, or method) followed by a one-line
summary of each of the first-level items "under" that item (package-level
declarations for a package, methods for a type, etc.).
Note that the "one-line summary" only applies to elements under the top-level.

When you do go doc Query.JoinT, you are explicitly asking for JoinT, so it is not required that it be a single line. Especially if the function or method signature is especially long, I think it is reasonable for go doc to respect the original formatting in this case.
When you do go doc Query, you are only asking about the Query type, so it is reasonable to expect all of the items under it to be a single line. This does not happen in Go 1.7, but was fixed in Go 1.8 with https://go-review.googlesource.com/#/c/25420/

As a follow-up, it would be really hard to come up with an algorithm that knows how to properly re-create newlines and whitespace in such a way that is satisfactory.
Try go doc unicode categories and see a giant list of values. Where should the newlines be inserted? Going by what the file specifies is probably the most reasonable thing to do.


feat: introduce global thread pool and rename ShellOtps to GlobalOpts

Motivation

Closes: https://github.com/foundry-rs/foundry/issues/8408
Solution

Introduces global Rayon thread pool spawned by passing the --jobs flag. If not passed it is not spawned. If passed as --jobs 0 it will use the default Rayon configuration (number of logical CPUs).
Renames ShellOpts to GlobalOpts.
Only selectively passes down GlobalOpts where required, this can be the case when wanting to indicate a conflicts_with a global argument or you need access to the thread pool. In most cases when checking against the shell configuration it is probably easier to use the e.g. shell::is_json variant over passing it all the way down.

impl looks good! there's a regression re the way rayon thread pool is spawned though, a command like

Thanks, good catch! Fixed

I think we should keep the current behavior, that is if --jobs flag not passed then we use rayon default (the number of CPUs available) instead single thread.

I had implemented it this way to avoid spawning the global thread pool as the vast majority of commands are not multi-threaded, cc @DaniPopes should we spawn by default?

wonder how (if) this would also affect the threadpools spawned in deps (and if we want to or not) like compilers
https://github.com/foundry-rs/compilers/blob/034ecd611eef030217c4b363a794226cd50b4b9e/crates/compilers/src/compile/project.rs#L529-L530

Decided to remove the global thread pool for now and renamed https://github.com/foundry-rs/foundry/issues/8408 as a follow-up to add it


feat: add cf-ip-monitor

Pre-Checklist
Note: please complete ALL items in the following checklist.

[x] I have read through the CONTRIBUTING.md documentation.
[x] My code has the necessary comments and documentation (if needed).
[x] I have added relevant tests

Description
Add Cloudflare IPv4 Monitor

Start workflow regularly each day to write https://www.cloudflare.com/ips-v4 to the ips-v4 file.
Use git status to check for diff.
If there is a diff, use the github-actions bot to commit and push, and create an issue(For details, see ISSUE_TEMPLATE.md)
If there is no diff, do nothing.

github-actions is more difficult to test in the original repo, if there are problems after merging, I will continue to improve
Related Issues
close #560
New Behavior (screenshots if needed)
The screenshots only represent my test samples in the private repo, the files in this pr have been modified accordingly.

@iyear great solution. Merging now, let's give it a trail run.