Regression: failure when comparing two values of the same enum type

TypeScript Version:  2.0.2
Code
Unfortunately, I have not been able to construct a reduced testcase, so I prepared a branch in the failing project to demonstrate the issue. Please checkout
https://github.com/DirtyHairy/6502.ts
and switch to the branch ts-broken. Doing npm install and grunt initial will demonstrate the issue. After that, the failing compile can be retriggered via grunt ts.
Expected behavior:
Project builds.
Actual behavior:
Using tsc v2.0.2
src/machine/stella/Board.ts(139,16): error TS2365: Operator '!==' cannot be applied to types 'ExecutionState.boot' and 'ExecutionState.fetch'

The code used to compile fine before 2.0.2 . The failing code fragment is this function:
    boot(): Board {
        let cycles = 0,
            cpuCycles = 0;

        this.reset();

        if (this._cpu.executionState !== CpuInterface.ExecutionState.boot)
            throw new Error("Already booted!");

        while (this._cpu.executionState !== CpuInterface.ExecutionState.fetch) {
            this._cycle();

            cycles++;
            if (this._subClock === 0) {
                cpuCycles++;
            }
        }

        this.cpuClock.dispatch(cpuCycles);
        this.clock.dispatch(cycles);
        return this;
    }

The corresponding types are declared in this snippet:
interface CpuInterface {

    // [...]

    executionState: CpuInterface.ExecutionState;

    // [...]

}

module CpuInterface {
    export const enum ExecutionState {
        boot, fetch, execute
    }

    // [...]

}

I think the problem was introduced when enum values were split into different types, and I suspect that two issues are at work here:

The assertion leads the compiler to infer the type of this._cpu.executionState to be CpuInterface.ExecutionState.boot. However, calling this.cycle() will mutate the execution state.
The compiler deems the two sides of !== to be of different type and rejects the comparision.

After introducing a manual cast
while (this._cpu.executionState as CpuInterface.ExecutionState !== CpuInterface.ExecutionState.fetch) {

the code compiles fine
However, as I said, I have not been able to construct a reduced test case, so some other aspect of my code seems to contribute to the compiler's confusion :smirk:

It looks like control flow is tripping you up, although I'm not sure yet whether if it's working as intended. Basically, after the line if (this._cpu.executionState !== CpuInterface.ExecutionState.boot) throws an error, control flow analysis narrows executionState can't be anything but boot. So the comparison at the beginning of the while is always false.
I know that while loops are more complicated than if statements in that they try to understand any type guards inside the loop body. But I don't think that this._cycle() is recognized as something that could alter this._cpu. I'll have to confirm by checking the code, though.
If that's the case, then perhaps control flow analysis should know when it is narrowing a property of this and understand that method calls on this can also change the value of the property.

Yes, I'm pretty sure that this feature is working as designed for now. I observed that adding an obvious narrowing inside the body of the loop also gets rid of the error, like this:
        while (this._cpu.executionState !== CpuInterface.ExecutionState.fetch) {
            if (this._cycle()) {
                this._cpu.executionState = CpuInterface.ExecutionState.fetch;
            }

            cycles++;
            if (this._subClock === 0) {
                cpuCycles++;
            }
        }

Since this._cycle(): void, the if body never even executes, but control flow analysis doesn't catch that, so it adds fetch back to the list of states that executionState could have.
For a real workaround, I'd recommend not breaking the CpuInterface abstraction and instead adding methods like CpuInterface.hasBooted and CpuInterface.isFetching and using those instead of directly checking the contents of this._cpu.executionState.

This looks like the same issue as https://github.com/Microsoft/TypeScript/issues/10613. I have a similar explanation in https://github.com/Microsoft/TypeScript/issues/10613#issuecomment-246727374

Hi @sandersn !
Thanks for the feedback! As this is a performance critical part of the emulator (the very inner loop, executed at ~3-4 MHz), I prefer checking the state via direct comparision over a function call at the price of loosening the abstraction. However, I am fine with either of the two other workarounds ;)
Is this part of control flow analysis going to be refined in a future release? The way JS and TS are designed, any function call might have side effects that mutate this._cpu, so the assumptions made by the compiler in this situation seem rather brittle to me ;)
Cheers
-Christian

Yes, control flow is still being improved as we observe the ways it fails. Lots of tweaks and fixes are going into 2.1 already, for example.


Add WSS usage examples to documentation

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

Feature
What did you expect to see?

Traefik supports WebSockets but there are no instructions on how to use Traefik to proxy WebSocket requests

I realize that WS(S) is an upgrade protocol and that it is designed to work with Traefik's existing http/s entrypoints. However, we don't mention that functionality explicitly in our documentation or show examples of how this might work.
We do have fixtures/integration tests, so it makes sense that there should be a brief section in our documentation about it.

I'm struggling with how to configure to proxy for wss. requests... any progress on this?

1 year later...

1 year later...

Good News:
I have noticed, that there have been changes to how Traefik reacts to documentation requests.
See https://github.com/traefik/traefik/issues/7112
They actually try to improve things, now.
Perhaps, some of you could provide examples of which part of the documentation was particularly lacking or hard to understand. 🙂

Answer by @mstaicu (https://github.com/traefik/traefik/issues/1027#issuecomment-1094109042)

The following that I'm about to write is nothing short of alchemy and pure experimentation
To set the scene up, running a development environment on my local machine with k8s and Traefik v2.6 as the ingress controller, custom resource definitions ( CRDs ) and a bunch of services
Among those services, I am running Remix.run as my client server in development mode. In development mode, Remix.run starts a websockets server that notifies the frontend of any changes made to the file system
The websockets protocol that the frontend uses to connect to the websockets server is dependent on the protocol of the running server, i.e. https ? wss : ws, and since I run an https connection, wss is chosen, thus the websockets server that it attempts to connect to is wss://{HOST_DOMAIN}:3001/socket
Right so, here's what I currently have, in terms of deployment descriptors
Traefik's deployment descriptor:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: traefik-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik
  template:
    metadata:
      labels:
        app: traefik
    spec:
      serviceAccountName: traefik-ingress-controller
      containers:
        - name: traefik
          image: traefik:v2.6
          args:
            - --api=true
            - --api.dashboard=true

            - --accesslog

            - --entrypoints.http.address=:80
            - --entrypoints.https.address=:443

            -<EMAIL_ADDRESS>
            - --certificatesresolvers.pebble.acme.httpchallenge=true

            - --certificatesresolvers.pebble.acme.httpchallenge.entrypoint=http

            # I'm running Pebble inside my cluster to automate the certificate provisioning, development mode only

            - --certificatesresolvers.pebble.acme.caserver=https://pebble:14000/dir

            - --certificatesresolvers.pebble.acme.storage=/acme/acme.json

            - --providers.kubernetescrd
          volumeMounts:
            - name: ingress-storage
              mountPath: /acme
      volumes:
        # This is defined in a different file, it allocates space for my ACME client ( LEGO ) to store certificates
        - name: ingress-storage
          persistentVolumeClaim:
            claimName: ingress-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: traefik-lb-srv
spec:
  type: LoadBalancer
  selector:
    app: traefik
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 80
    - name: https
      protocol: TCP
      port: 443
      targetPort: 443
    - name: live-reload
      protocol: TCP
      #
      # Here's the kicker. Since we defined entry points for http ( :80 ) and https ( :443 )
      # we can listen for incoming traffic on port 3001 and forward that to either entrypoint (http or https) by using the targetPort
      #
      # Once it reaches those entry points, the IngressRoute comes into play. More on that below
      #
      port: 3001
      targetPort: 443
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: wss-live-reload
spec:
  entryPoints:
    # Entry point corresponding to port :443
    # Change the `targetPort` of the LoadBalancer's `live-reload` from :443 to :80 and you'll get a simple ws connection, as it will be forwarded to the :80 entry point. You will also have to adjust this IngressRoute to use the `http` entry point and remove the `tls` options
    - https
  routes:
    - match: Host(`${HOST_DOMAIN}`) && PathPrefix(`/socket`)
      kind: Rule
      services:
        - name: client-srv
          port: 3001
  tls:
    certResolver: pebble
    domains:
      - main: `${HOST_DOMAIN}`

And my client service deployment file
apiVersion: apps/v1
kind: Deployment
metadata:
  name: client-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: client
  template:
    metadata:
      labels:
        app: client
    spec:
      automountServiceAccountToken: false
      containers:
        - name: client
          image: dimensions/client-remix
          envFrom:
            - secretRef:
                name: dotenv
            - name: REMIX_DEV_SERVER_WS_PORT
              value: "3001"
---
apiVersion: v1
kind: Service
metadata:
  name: client-srv
spec:
  type: ClusterIP
  selector:
    app: client
  ports:
    - name: client
      protocol: TCP
      port: 3000
      targetPort: 3000
    - name: client-live-reload
      protocol: TCP
      port: 3001
      targetPort: 3001

With the above descriptors, if I access the following URL in my browser
https://${HOST_DOMAIN}:3001/socket
I get: Upgrade Required
If you guys have improvements to this, or any further explanations, please post them, as I think I'm not the only one frustrated with the lack of documentation on WebSockets

Any news?:(

Hello,
Thanks for your interest in Traefik!
This issue is labeled as contributor/good-first-issue and priority/P3 which means
that there is a general agreement that this can be a nice to have, thus community contributions would be most welcome.

This issue is labeled as contributor/good-first-issue and priority/P3 which means
that there is a general agreement that this can be a nice to have, thus community contributions would be most welcome.

That's nice. 👍🏻
However, what if the community doesn't understand it, so the documentation will never expand?
It'd be nice if there were a base, where the community would understand enough to be able to contribute.

maintainers will keep an eye out for these pull requests and shepherd it through our processes, as mentioned in our contributor's guide.

That's nice and will hopefully help in making people contribute.

Also looking for doco on this.


Update 2.1 full sql grammar diagram

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c6f5605567a0c1ec84414829552d4810132832f8/


ci: update ci and mergify

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:

1.0.0
GitHub release

Your semantic-release bot :package::rocket:


[10.x] Set container instance on session manager

Related PR: laravel/octane#669

In the case of Octane, The SessionManager gives the old instance of $container and $config to session drivers and session handlers like CacheBasedSessionHandler. Even though the configuration and cache manager are being refreshed, the session manager still uses the old instance of $config and $contanier.
In my case, I needed to switch between drivers on the fly, and the problem was that the session manager didn't receive a new container instance and when I wanted to login with Fortify, the old cache driver was being used.


Schema Error

HdfsBridge::recordReaderFillBuffer - Unexpected error encountered filling record reader buffer: ClassCastException: class java.lang.Long cannot be cast to class java.lang.Integer (java.lang.Long and java.lang.Integer are in module java.base of loader 'bootstrap')
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: da9820f3-e186-4f52-7492-cb936823ea80
Version Independent ID: 2746ca67-f71e-85c6-f5b3-0f828bcbbc68
Content: Tutorial: Get started analyze data with dedicated SQL pools - Azure Synapse Analytics
Content Source: articles/synapse-analytics/get-started-analyze-sql-pool.md
Service: synapse-analytics
Sub-service: sql
GitHub Login: @saveenr
Microsoft Alias: saveenr

@saksham77
Thanks for your feedback! We will investigate and update as appropriate.

Hi @saksham77
We've given this problem to a content author who will look into it and amend it as necessary because it was previously brought up in a similar way. here #104219
We are going to close this thread, if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

green/yellow taxi records don't have required columns in the SQL script.


Allow access from Power BI Does not support workspace in Premium Capacity

For currently workaround: user need to manually add Azure Datacenter Ip Range to Azure AS Firewall setting

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

ID: c60737e9-40f9-bcc5-a480-b453a3f58d55
Version Independent ID: fd6dbf6c-7862-1c00-2c0b-ca260f79e7df
Content: Quickstart - Configure a firewall for an Analysis Services server in Azure
Content Source: articles/analysis-services/analysis-services-qs-firewall.md
Service: azure-analysis-services
GitHub Login: @Minewiskan
Microsoft Alias: owend

Please update it into document

@v-kerwan Thanks for bringing this to our notice. We are investigating into the issue and will update you shortly.

Hi,
Good Day, it already confirmed by PG, here is Email thread for review.
Best Regards,
kerry
From: ChiragMishra-MSFT<EMAIL_ADDRESS>Sent: 2019年8月20日 13:23
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Kerry Wang (Wicresoft North America Ltd<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Allow access from Power BI Does not support workspace in Premium Capacity (#37392)
@v-kerwanhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fv-kerwan&data=02|01|v-kerwan%40microsoft.com|246a0f12a4c34cf03a7708d7252e69cd|72f988bf86f141af91ab2d7cd011db47|1|0|637018753584288162&sdata=qBwhTvnR17jjhPPX5Ftjv%2B4azplimp8P5mRWQrf2tyE%3D&reserved=0 Thanks for bringing this to our notice. We are investigating into the issue and will update you shortly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F37392%3Femail_source%3Dnotifications%26email_token%3DAJWNXQRSC7F2V3GGGGGQMJLQFN5RZA5CNFSM4INLGIL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4VC2LQ%23issuecomment-522857774&data=02|01|v-kerwan%40microsoft.com|246a0f12a4c34cf03a7708d7252e69cd|72f988bf86f141af91ab2d7cd011db47|1|0|637018753584298156&sdata=2DHx65aHaaf3IUcw7OFroezghxl6zxbzOdjCD57iqJg%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJWNXQT6L5VSMNPDRIXBNXLQFN5RZANCNFSM4INLGILQ&data=02|01|v-kerwan%40microsoft.com|246a0f12a4c34cf03a7708d7252e69cd|72f988bf86f141af91ab2d7cd011db47|1|0|637018753584298156&sdata=WzL2mv9VdvqZiJ%2Fw9b6KP21qgy48BG9XjmSzIgh%2BdAE%3D&reserved=0.

@v-kerwan Thanks for the update. I will now proceed to close this issue. Feel free to reopen the issue if you feel the need.

Hi I have review the document and that's incorrect expression.  (Please Note that Import scenario from Power BI Premium is currently not supported.)
Pleaes use my expression below instead: (Note: currently turn on switch of "Allow Access from Power BI" button won't bypass request from Power BI workspace under premium capacity. To workaround this, please add Azure datacenter IP Address(https://www.microsoft.com/en-us/download/details.aspx?id=41653) to Azure AS firewall List )


Fixing broken tox.ini

Caused by merging a rename commit (#954) and a change to
tox before the rename (#951).

@tseaver Merging now to fix the fully broken test config.

Fine by me.

Commits flying by in the night. I wish rebase was the only merge option and tests had to re-pass before being merged, but such is life.

On the plus side, I just executed
$ tox -e regression
ERROR: unknown environment 'regression'

by reflex. Yay for a more appropriate name.


Training problems for JHMDB datasets

I used a pre-training dataset that worked fine during training and did not predict correct results on the validation set。
To my surprise, everything works fine when continuing training with the weights provided by the author that have already been trained（TubeR_CSN152_JHMDB.pth）. But training from scratch will cause problems like the code below.
Train
Epoch: [1][460/2839]                                                                                lr:  5e-05                                                                                data_time: 0.025, batch time: 0.657                                                                                class_error: 11.761, loss: 7.271, loss_bbox: 0.085, loss_giou: 0.161, loss_ce: 0.356, loss_ce_b: 0.000
Epoch: [1][461/2839]                                                                                lr:  5e-05                                                                                data_time: 0.031, batch time: 0.661                                                                                class_error: 11.736, loss: 7.273, loss_bbox: 0.085, loss_giou: 0.161, loss_ce: 0.356, loss_ce_b: 0.000
eval
Epoch: [0][9138/9139]                                                                                data_time: 0.003, batch time: 0.069                                                                                class_error: 99.354, loss: 15.582, loss_bbox: 0.143, loss_giou: 0.233, loss_ce: 1.298
Epoch: [0][9139/9139]                                                                                data_time: 0.003, batch time: 0.068                                                                                class_error: 99.354, loss: 15.582, loss_bbox: 0.143, loss_giou: 0.233, loss_ce: 1.298
per_class_len 24                                                                                per_class [0.         0.         0.         0.         0.         0.                                                                    0.         0.         0.         0.         0.         0.                                                                             0.         0.         0.         0.         0.         0.                                                                             0.         0.02090471 0.                nan        nan        nan]

I have the same problem


Hilight problematic short segments when mouse hovers node

Describe your idea
Very short segments cause vehicle AIs to behave unexpectedly when connected to nodes customised with the following tools:

Priority Signs - #862 , #686
Timed Traffic Lights - #302 , #297 , #862
Junction Restrictions (probably - eg. enter blocked junction)

Those tools all require user to first select a node to edit before they can customise it; we can warn user about short node prior to selecting the node:

When user hovers mouse over the node they want to edit, check for short segments.
If found:

Highlight short segment(s) with red outline
Change mouse-following tooltip to "Tiny segments cause problems" (or something like that)
If not too painful, change mouse cursor to a warning symbol ⚠

When mouse leaves node, or node selected for editing, clear the warning

See also: #698
Screenshots?
n/a
Notes or questions?
Broken Nodes Detector mod has code that scans for short segments; could use that code but only check segments attached to the hovered node to reduce overheads.
Code for checking the segments attached to a node, and showing/clearing the warning could be centralised making it easier to incorporate in to any tools that need it. If memory serves, all those tools change the node highlight when mouse is over the node, so it would just be a case of adding maybe 1 line of code to the tools' node hover/leave/select handling methods.
The class should probably cache the node it just checked (and the result) so that it doesn't need to do expensive checks every frame. The cache would be cleared when the mouse leaves a node, or the node is selected for editing.
User could still select the node and customise it if they want to take the risk, but at least now they'll know what's causing problems if vehicles are ignoring their customisations.
Additional future enhancements:

If we learn of other problems, eg. sometimes weird stuff like 'overlapping nodes' (user didn't properly connect two segments together), the central class could be updated to check for that too.
A "Try and fix short segments" mod option; it's confirmed that reducing speed of a short segment can sometimes mitigate problems, at least for TTL. See also: #757

Honestly I will see is as a new overlay/icon layer just for warnings. Could be enabled and filtered based on active tool or something. Similar to what we see when one-way has a dead end, trolleybus/tram segment end is not connected, etc.

I've reviewed the code and found one big bug 😱 or I would say huge design flaw that makes junction features to work only when segment is long enough... segment length doesn't really matter if you know what you are doing and how simulation works (yes I've spent few days figuring out how simulation works in tiny details while working on EVE revival and improvements recently).
Test case (impossible to handle correctly running any version of the mod - yes, they have green here but as described, it doesn't matter - try yourself) :
https://user-images.githubusercontent.com/19638970/146283959-e47d6544-46bc-4110-a2b5-d8bf4a110529.mp4
Here the same scenario but with one little change in the code:
https://user-images.githubusercontent.com/19638970/146284048-2d7530b8-f122-46e5-8e2f-44e0b7125262.mp4
Bonus points:
Yield signs are way more accurate, vehicle will wait patiently for perfect spot before start moving, no longer crawling to forcefully join with the traffic.
Big downside of the change:
Makes whole implementation a lot slower, no fallback behavior, no shortcuts, no testing previous state, everything is calculated each time vehicle approach new segment.
Important note:
Game can process even multiple segments/nodes per each simulation step for each vehicle in chunk (1024/step), number of processed segments is correlated with vehicle speed, speed limit and segments length.
In above scenario I'm pretty sure it processed all 10 short segments in one step, then... 7-9 remaining, depends on how far vehicle was moved between steps and so on 😉

Big downside of the change:
Makes whole implementation a lot slower, no fallback behavior, no shortcuts, no testing previous state, everything is calculated each time vehicle approach new segment.

How much impact is there in relation to "a lot slower"? Is there some way we could embed "junction coming up, enable extra checks" in to the path units? That way the vehicle AI isn't doing all the extra work while driving down long stretches of road, it's only doing heavy lifting a few segments from a junction?

Each simulation step vehicle calculates 4 next positions (circles). Between steps it travels between current and next frame (rectangles) not further than to the first target, in the next step target0 is usually "converted" to "next" frame if speed is constant.
130 km/h (cur. segment is the segment of current pathUnit)

40 km/h

That change shouldn't have big impact for highways since segments are pretty long and also roads where junction node connects only two segments. I need to do some benchmarking, but keeping in mind user "cried" that simulation accuracy at very high was forced some time ago, this will be like multiple times of it if you place a lot of short segments and set medium speed (50-70km/h) with either traffic lights or priority signs.

Could it scale based on speed? So slower speed = less look-ahead?

Could it scale based on vehicle speed? So slower vehicle speed = less look-ahead?

Distance between target positions is dynamic, based on vehicle speed, ability to brake and some other minor details.

EDIT: Also, are those diagrams rendered in game (the circles/squares, not the text/arrows heh)?

It's a part of my Pathfind Sandbox (will be). I found nice and clean way to select/follow instance you want to observe so I started attaching more stuff to it in form of overlays.

Regarding EVE, there might be some possibility to use Vehicle.Flags? Specifically, the m_setvehicleflags of a segment is transposed on to vehicles driving on it... As this is only for roads, you could repurpose existing flags that are used for other AIs, such as TakingOff, Flying, Landing...?  Also I see there's Emergency1 and Emergency2 flags - no idea what they are used for (not checked).

Congestion flag

Used in vanilla to force despawn vehicle approaching congested segment to prevent making longer traffic jams XD

Emergency2

Used when vehicle use emergency signal lights

Emergency1

Used in special cases, e.g. when fire truck stopped near the burning building and is extinguishing fire, similar for the fire copter, maintenance trucks when they maintain road, water trucks when pumping water, disaster response units searching for "problems" etc.

m_setvehicleflags

Is applied unconditionally to every vehicle that enter segment, problem is it is per netInfo, so for all segment instances on the map. Good to help with deciding if effects like dust should be rendered, but not that useful for EVE (need to think about that). I've been testing different approach with better results.

Created wiki article to collate infos about Vehicle.Flags: https://github.com/CitiesSkylinesMods/TMPE/wiki/Vehicle-Flags

I was experimenting with priority signs code and I think we could improve some behaviour, especially when vehicle is driving off main road (yield other vehicles incoming from the front).
Currently if junction does not have priority signs set or target and incoming vehicle are on main road they completely ignore a chance of possible collision.
Default behaviour, they will run into each other, ignoring priorities

One way to fix it, but may introduce problem/unwanted yield for traffic going straight Blue truck will patiently wait for enough space or a gap in incoming traffic because of congested exit of intersection

What I would like to see:

blue truck should yield always when turning left (crossing incoming traffic), even if there are no priority signs
It might be active only when Simulation Accuracy is High or Very High

Probably there are other cases where vehicles should yield. I noticed in code that once vehicle enter intersection area only vehicle collision is calculated - no further priority checks, so at big intersections or roundabouts it increases a chance of causing fake congestion on main road (going around the roundabout) blocking the traffic (yielding traffic will start entering intersection because of traffic gap mentioned above)
Maybe I'm blind, do we have any thread/issue with regards to problems/suggestions about priorities/priority signs, similar to those for traffic lights, parking AI etc.?

I remember some discussion of this, give me a few mins and I'll see if I can find it.

Note some of these aren't directly on topic but I think still worthy of considering as part of the mix:

https://github.com/CitiesSkylinesMods/TMPE/issues/1134
https://github.com/CitiesSkylinesMods/TMPE/issues/910
https://github.com/CitiesSkylinesMods/TMPE/issues/1000
https://github.com/CitiesSkylinesMods/TMPE/issues/871
https://github.com/CitiesSkylinesMods/TMPE/issues/565
https://github.com/CitiesSkylinesMods/TMPE/issues/424
https://github.com/CitiesSkylinesMods/TMPE/issues/46

It would be super-useful if we could set priority by lane, rather than segment. That way the far-side turn lane could be given a stop/yield and the straight-on lanes could be priority to allow smooth traffic flow.
There's some other stuff relating to T-junctions and Y-junctions (forks) that needs considering which I don't think is directly mentioned in the linked issues above, I'll try and jot down some thoughts on those in an hour or so.

It would be super-useful if we could set priority by lane, rather than segment. That way the far-side turn lane could be given a stop/yield and the straight-on lanes could be priority to allow smooth traffic flow.

This is what I meant, but for all cases without even touching intersection with TM:PE settings. Traffic Priority feature should be ON at Maintenance tab, Sim Accuracy at least High since checking priorities at every intersection may cause small slowdown (maybe check only in 300-500m from camera or reuse 0,1,2 LOD levels of vehicle simulation)
https://user-images.githubusercontent.com/19638970/152700929-041caea3-6e15-493c-9af9-067901eff3e8.mp4

that's freaking awesome!

Priorities are not tested at node so they behave a bit rough,
https://user-images.githubusercontent.com/19638970/152701220-1b02875a-881d-4c88-88ff-3fc03474bcc1.mp4

That's still a good improvement on what currently happens IMO
In terms of simulation workload, what's the "LOD level of vehicle simulation"? I assume the game is reducing complexity based on how far away the camera is?

In terms of simulation workload, what's the "LOD level of vehicle simulation"? I assume the game is reducing complexity based on how far away the camera is?

Yes there are 3 LOD levels, at level 2 all collision checks are skipped, at level 1 only vehicle-pedestrian iirc

More "unprotected" turns.
Scenario:

left going up,
up going down,
down going left,

https://user-images.githubusercontent.com/19638970/152716744-6a4fdd9f-4fe1-45d3-a2d2-6b410ed4c923.mp4
https://user-images.githubusercontent.com/19638970/152716729-9986994a-a622-4c20-ab7b-c8ac5cdebf69.mp4
https://user-images.githubusercontent.com/19638970/152716712-0aa5f885-f101-4da7-b79c-27f383f8b977.mp4

Looks really good!

BTW, will this also work for tracked vehicles? I have some nightmares in my current city with trains driving through each other lol

A bit more adv. setup.
In addition to previous, right is going left and right is going up
https://user-images.githubusercontent.com/19638970/152717810-95f78de2-0385-4efd-b417-efd5cca25b72.mp4
https://user-images.githubusercontent.com/19638970/152717822-d93f811f-605f-4a29-811d-81f8b119c7dc.mp4
https://user-images.githubusercontent.com/19638970/152717833-0a33020d-a377-4c7d-89e4-8d4d815923a9.mp4
https://user-images.githubusercontent.com/19638970/152717834-33021b1d-48a9-4508-9f8d-c62240c59073.mp4

BTW, will this also work for tracked vehicles? I have some nightmares in my current city with trains driving through each other lol

Good question. I'll add some trams to the loop :D

Functional priority signs seem to completely obsolete current functionality of enter blocked junction.
I still feel strongly that enter blocked junction should be discarded and replaced with box junction (ie. only enter junction if the exit lane is not blocked) as per #424
If enter blocked junction was retained, it could instead allow vehicles to part-enter and wait inside the junction node until there is gap in traffic - similar to how the AdvancedJunctionRule mod worked - #46 :
https://www.youtube.com/watch?v=ICjrLoy6tFA

A bit less realistic prio signs but still handles perfectly
https://user-images.githubusercontent.com/19638970/152720737-5e266578-ac93-454f-bf29-56eadd94e808.mp4
Removed all priorities so they all have priority - need to fix deadlock issue #1134 😄
https://user-images.githubusercontent.com/19638970/152720993-37fbe664-b6ca-46ea-9d3e-4983f65771aa.mp4

I guess also that tracked vehicles should always be given right of way over road vehicles? Additionally maybe buses/trolleys could gain some priority over other road vehicles?

For deadlock issues, some ideas:

Smaller / slower roads should yield to faster / larger roads
If that still doesn't solve it, road with most congestion/traffic should go first

As mentioned above we could also have pecking order based on ExtVehicleType - eg. emergency, then tracked, then road-PT, then services, then cargo, then passenger car?

Yeah, we should write down info about priorities somewhere, maybe in the wiki as upcoming feature then just implement missing bits.
In above case giving auto higher-priority to the Tram would potentially help with deadlock but still needs to be fixed in case of other road vehicles. Honestly I was browsing history of changes and couldn't find anti-deadlock code mentioned in the old wiki

Functional priority signs seem to completely obsolete current functionality of enter blocked junction.

Yes it does not make sense if you put priority signs. I would apply it automatically under the hood e.g. for transition nodes when e.g.: road with median is connected to basic road.
ExtVehicleType will be good start then I think we could try introducing temporary priority, so e.g. once deadlock occurs we select best segment to get higher priority temporarily (e.g. for 30/60 sim frames to unload traffic from one side

Yeah, I remember Advanced junction rule. I've got an brief idea how to implement it but I need to create basic version of priority check function for vehicles already at node or like you've mentioned in the box junction area. It will used by vehicles that are on road with priority (intersecting with vehicles also on priority segment) but degraded to yielding because of unprotected turn maneuver, so the number of possible combinations can be optimized to be as fast as possible keeping best accuracy.
Hehe, I'm watching how they move... it's so satisfying to look at 😄

For deadlock I also think what would happen IRL...
Usually bigger vehicles can muscle in (and are used to doing so if you've ever known a lorry driver lol - they still do it when driving cars), so things like service and transport. But also you could get things like reckless drivers pushing in, and people on way to work might be more likely to enter junction, etc. For cars in particular we could possibly have it affected by individual driving style feature? I still think individual driving style should be on by default and use the driver id as if it were a randomised bitmask defining traits of the driver, including how they behave at junctions (are they more passive or aggressive, etc).

Another thing with individual styles, some drivers might be more willing to let others go first - eg. if there's a big queue they might flash lights to let car at front enter junction (or exit junction if they were part entered).

Btw, now as I watch they wait for their turn I started thinking about fixing blinkers so even if vehicle does not move and e.g.: waiting to turn left it could have blink left ON (that's possible, just require a tiny patch).

Usually bigger vehicles can muscle in (and are used to doing so if you've ever known a lorry driver lol - they still do it when driving cars), so things like service and transport

Yeah, I thought about that too. At worst we can select them by ID -> decision is taken every sim step so every 1024/4096(MV) vehicles - we can "push" first found vehicle from current chunk 🙃
There are many ways to do so.

Btw, now as I watch they wait for their turn I started thinking about fixing blinkers so even if vehicle does not move and e.g.: waiting to turn left it could have blink left ON (that's possible, just require a tiny patch).

Additionally, it would be great if they didn't use blinkers when simply driving round a curved segment (unless it's one-way street where it might be roundabout heh).
I have some really bendy roads snaking through mountains and it always irrates me how vehicles indicate round sharp bends lol.

Fully manual prototype
https://user-images.githubusercontent.com/19638970/152874006-bff2e88c-387b-4f56-b6ea-1fc55f87c816.mp4

Ooh, can we make it so if a vehicle breaks fast it puts both indicators on to warn other traffic?

Ooh, can we make it so if a vehicle breaks fast it puts both indicators on to warn other traffic?

I have no idea how to detect it.

Could also do both indicators when vehicles are pulled in to a building to load/unload/etc.

Will be the easiest thing actually 😄
I was thinking about bus tops - emergency when boarding then turn to join traffic. Since most calls are invoked 4 times/per vehicle/per step it's not obvious where to put 'start' and 'reset' triggers 🤔

Since most calls are invoked 4 times/per vehicle/per step

omg, wat?!

Movement is interpolated between frames (last and next - rectangles). Next calculation occurs when vehicle is about to hit next frame. It needs to calculate 4 target positions (circles), they are used as next position (target0, closest), other to determine if vehicle will accelerate or slow down/ stop. Most of TM:PE methods, like eg. MayChangeSegment - when calculated target position will land as last position of current segment, at node or next segment. CalculateSegmentPosition is called for each calculated target position (circle) that should land on segment, otherwise simplified version is called to apply transition on the node. Etc. It's not that card to understand how it works and what to do in case of tweaks/changes
5% speed:
https://user-images.githubusercontent.com/19638970/152890046-eb9a5be1-84a9-468d-987d-300d4edb465f.mp4
https://user-images.githubusercontent.com/19638970/152890408-19f59e93-c57b-459c-b5f9-6a03346d8666.mp4
Normal speed XD
https://user-images.githubusercontent.com/19638970/152890502-75e37327-80b3-40a9-8513-f51fe83bbdfd.mp4

More or less _blinking_😄
https://user-images.githubusercontent.com/19638970/152911472-848ed960-3f4e-48c9-958c-a47c39a0c2bb.mp4
https://user-images.githubusercontent.com/19638970/152911550-d52c153e-32fe-46f2-ba4f-972a8f4e6f14.mp4

nice!

How is the blinking done? Is it just a flag that gets set and the game does the rest, or do you have to write code to keep turning it on/off?

Currently I'm checking direction between current and next segment. If left or right then turn on turn signal otherwise reset. I need to add a little code to check if approaching node is a junction to eliminate turn signals on Bend nodes.
I wanted to add turn signals when changing lanes but I couldn't find performant solution for calculating if next lane changes and which direction compared to current movement direction. Also I couldn't find way to detect if a bus stop is on the left or right side...

Can nodes store arbitrary metadata?
If so, maybe you can store in nodes when there's an intersection approaching in nodes nearby intersections (by distance, instead of by node count). I don't know how hard would it be to maintain such information for when the road changes. Maybe you can use the agents themselves to report if no intersection was expected and an intersection is encountered so that information can be added to the close-by nodes.

I wanted to add turn signals when changing lanes but I couldn't find performant solution for calculating if next lane changes and which direction compared to current movement direction

The way lane changes are limited to nodes, and the speed at which vehicles just jolt in to next lane would make indicators look weird in that context anyway IMO.
It would be interesting to see the vehicle frames overlay (or whatever it's called) at 5% speed as a vehicle encounters a lane change.

Also I couldn't find way to detect if a bus stop is on the left or right side..

Very basic solution would be based on which side of road traffic drives on for the current city - Shortcuts.cs:
        internal static bool LHT => Singleton<SimulationManager>.instance.m_metaData.m_invertTraffic == SimulationMetaData.MetaBool.True;
        internal static bool RHT => !LHT;

But there are situations where bus stop is on a median, or even other side of road (in case of 1-way busways) - to discern that you'd need list of sorted lanes (there's already code for that) but ideally cached because it would be ludicrous to keep recalculating when segments very rarely change (geometry observer can help invalidate cache where necessary - this is also something desperately needed for overlays and which I'll probably make a start on after mod options chainsawing).
With cached list of sorted lanes for segment, it's simple case of checking if lane 0 (or lane Count-1?) in the lane that the bus enters the bus stop from.
Also would need to skip the whole thing if bus is stopping in a building (eg. bus terminal).
Actually, it doesn't matter if the code to determine which side the bus stop is on is bloaty and slow - it only needs to run once when the stop is created/moved. We need ExtTransportStop for buses, trams, trolleys :) lol

Oh, one other scenario for which side bus is on that breaks my earlier assertion that we can just check a single lane position...
Roads with central bus lanes separated from normal road lanes by median, eg: various BRT roads like this one in workshop:

There are also inverted versions of that:

Very basic solution would be based on which side of road traffic drives on for the current city

I just need a way to say that lane is directly connected or connection requires changing to the left or right.

The way lane changes are limited to nodes, and the speed at which vehicles just jolt in to next lane would make indicators look weird in that context anyway IMO.

Not at all. Just was clip with overlays - notice that gray lane marks current lane and I can add code for testing lane change at each circle (in the first clip after few sec. first yellow circle is calculating position on the next segment) so depends on speed I can turn on indicator even one or two segments before actual lane change occurs and even better, when congested you will see them blinking way before they actually change lane. It will be nice addition. I can also inject same thing into DLS code, so when TM:PE decide there is a better lane I can turn on signal in that case too - again segment or even multiple before lane change.
The main problem that needs to be solved and will basically fix all issues -> I need a function that for two laneIDs or lane indexes would tell me if lane transition involves lane change or not and if so, tell relative direction of it.
Notice how far vehicle needs to move after turning left till signal stops blinking. IMO, pretty nice.
https://user-images.githubusercontent.com/19638970/153064512-09233a4d-15ba-40be-a17b-1ce4ced40327.mp4
At 99% because of DLS but still, lane change is not instant. You can detect is pretty long ahead
https://user-images.githubusercontent.com/19638970/153065607-c79e22ae-7dbb-4171-9e1f-e6a1a77338d5.mp4


[FEATURE] Always on top but hide when in fullscreen mode

What is the request?
I have recently learned of ElevenClock which replaces the system clock and is also written in Python. One interesting feature I found there is its ability to hide in fullscreen mode despite it being an always-on-top window sitting on top of the taskbar.

Why is it useful?
I remember you sent a yasb config that places the workspace indicator on the bottom where the taskbar is located.

However, for it to be unobtrusive, one would have to use TranslucentTB or RoundedTB (or both, which I do). Some people may not want this and want it to look integrated into the taskbar like how ElevenClock does.

How could it be implemented?
You may want to look at ElevenClock does it

Looks like the hide on fullscreen functionality is implemented here: https://github.com/martinet101/ElevenClock/blob/main/elevenclock/init.py#L1231
This method appears to be getting called in a silly loop in the background. Can probably use this as a reference, but I likely wont implement this until the tauri rewrite of yasb is near completion

Additionally a significantly less complicated solution can be found here:
https://stackoverflow.com/a/58755620

So ElevenClock's solution is "hackish"?

I really like the i3bar behavior:
Show on Windows key down, hide when windows key is released.


use @storybook/preset-typescript and support MDX on Storybook template

Current Behavior

The current additional webpack config used in the react with storybook template I believe is unnecessary
The template does not support Rich MDX docs out-of-the-box

Desired Behavior

Rather than providing custom webpack config, utilize Storybook's own typescript preset
Users should be able to easily add MDX-based stories/docs

Suggested Solution

First of all, I noticed that the config was recently cleaned up in #435 (thanks @kylemh !) and expanding on that work, I believe that by taking advantage of @storybook/preset-typescript, we should be able to replace the custom webpack config (can be seen in #435) like so:
const path = require('path');

module.exports = {
  stories: ['../stories/**/*.stories.(tsx|mdx)'], // notice mdx support added here
  presets: [
    {
      name: '@storybook/preset-typescript',
      options: {
        include: [
          path.resolve(__dirname, '../src'),
          path.resolve(__dirname, '../stories'),
        ],
      },
    },
  ],
  addons: [
    '@storybook/addon-actions',
    '@storybook/addon-links',
    '@storybook/addon-docs',
  ],
};

I believe that this will better support the tsdx goal of minimal/zero config. The above config still supports docgen extracting comments out of the component files.
From what I can tell, the webpack config was originally introduced in #318 to add support for a '@' import alias, which support for that alias was then removed in #435. What's left seems to be completely supported in the typescript preset, unless I am completely missing something here please let me know.
Also notice that support for .mdx files is very easily added by adding it to the stories blob config above. With that in place, you can add a basic sample MDX file to the template like:
import { Meta, Story, Preview } from '@storybook/addon-docs/blocks';
import { Thing } from '../src';

<Meta title="Thing" component={Thing} />

# Thing

With `MDX` we can define a story for `Thing` right in the middle of our
markdown documentation.

<Preview>
  <Story name="Thing MDX">
    <Thing />
  </Story>
</Preview>

Who does this impact? Who is this for?

All users looking to use this library to create a React component library with storybook and typescript.
Describe alternatives you've considered

Alternatively maybe adding to the documentation would help.
Additional context

Open to making a PR (or if someone on the team wants to make the quick change that would be cool too), just wanted to make sure this makes sense to folks and that I'm not completely missing something. Let me know what you guys think, thanks.

fyi, wanted to post an update on this:
@storybook/preset-typescript recently had a major version bump and react-docgen-typescript-loader is no longer bundled inside it. Read more about it here.
If I understood it correctly, it sounds like starting in Storybook v6 @storybook/react will automatically include the docgen functionality that was removed in the preset-typescript
The v2 preset-typescript doesn't seem to play well with the base tsconfig.json that tsdx provides as it is currently.

For example it complains that files inside the test directory are outside of the now recommended rootDir: './src' You have to update tsconfig to instead use rootDirs: ['./src', './test'] (although I'm not positive if that has any impact on the rest of tsdx)

For those that run into this ticket basically if you want to use @storybook/preset-typescript v2 today:

looks like you no longer need additional config like I had in my examples above,
you will need to keep the custom webpack config in the short-term for the react-docgen-typescript-loader to get prop tables to show up
update tsconfig like mentioned above
also notice that it seems like current docs now recommend adding the preset to the addons array instead which is confusing but I didn't look into it any deeper

module.exports = {
  stories: ['../stories/**/*.stories.(ts|tsx)'],
  addons: ['@storybook/preset-typescript'],  // add any other addon you use
  webpackFinal: async (config) => {  // remove once you update to Storybook v6 when it's released
    config.module.rules.push({
      test: /\.(ts|tsx)$/,
      use: [
        {
          loader: require.resolve('react-docgen-typescript-loader'),
        },
      ],
    });

    config.resolve.extensions.push('.ts', '.tsx');

    return config;
  },
};

For everyone else, the original webpack config from @kylemh still works great, no additional changes needed.
My recommendation for this ticket is to wait for Storybook v6 and I believe at that point you can just use the typescript-preset without any additional config like so:
module.exports = {
  stories: ['../stories/**/*.stories.(ts|tsx)'],
  addons: ['@storybook/preset-typescript'],  // add any other addon you use
};

Will try to confirm that once it's released.

I'll be integrating TSDX into a work project this weekend, so I'll be fixing the template up to match current recommendations if I can get it working. I agree waiting for Storybook 6 will likely be the best course.

Will the new @storybook/preset-typescript also support MDX? It wasn't included in the stories config.

For example it complains that files inside the test directory are outside of the now recommended rootDir: './src' You have to update tsconfig to instead use rootDirs: ['./src', './test'] (although I'm not positive if that has any impact on the rest of tsdx)

As far as I understand, rootDirs is used for module resolution of relative paths, whereas rootDir just controls the output structure (which is why we needed to change the default, so code would get generated in dist/ and not dist/src/).
Changing it might affect some relative module resolution if you have some similarly named paths or something.

It won't. I think we should leave that to somebody that uses MDX to integrate with personally.

I dropped in this change and it worked first try no issue on a new new tsdx react-storybook project. Regardless if this get's added, would be nice in to toss it in the docs, because I was having trouble making this work until I found this.

I'm opening a PR today to update the preset 💃

Thanks for the updates everybody. At Storybook we're doing our best to nail this thing, but flying half blind. All input welcome to try to get this work.
Re: MDX I'm not sure what it means to support MDX. AFAIK MDX itself doesn't support TS, so you should be able to write your components in TS and use them in TS, but JS only inside the MDX file.

hey folks just wanted to provide an update here before I mark this closed.
The conversation here is no longer relevant with the release of Storybook v6 which looks like has direct support for typescript. Sounds like preset-typescript is no longer recommended.
However the storybook template config does still need to be updated which looks like someone already took the effort to determine the next best minimal config on PR #805  (which I tested myself, works great with docs addon and is able to automatically do the docgen stuff behind the scenes, allowing for prop tables to automatically show, etc.).
Anyways I'm not familiar with the PR process for this project but I would suggest reviewing and merging #805 to resolve the original intent of this ticket (to rely on Storybook's own recommended way to configure TS and stick to the intention of this project of minimizing the config).


Classic game mode without portals

Amazing job, really!
I'd like to know if in some way is there possible to have the standard gameplay without portals feature.
Hope this enhancement could be insert in roadmap :)
l

That exists

It's also an option in mappacks

Will it be possible to consider it as option without completing the game first? :)
Just an idea otherwise you can close the "issue"
Thanks

If you don't want to complete the game all you have to do is type in the konami code on the titlescreen or skip to the final level in the level editor, its real easy


Add formatting step to the build And apply default formatting

Check the formatting in the build and apply default formatting to the C# solution using dotnet format
Only formatting is applies No other code changes

@tevoinea i could not find any option to do it on the build. but you can run dotnet format from the command line


neofetch | lolcat returns weird output

Also happens in Konsole

The same in regular gnome terminal on pop_os

Works with current lolcat version.
Please ensure lolcat --version prints lolcat 99.9.69.


Looking forward to your outstanding work!!!

Hi! I have uploaded the code. Please contact me if any questions.


added test for training when both train and valid are subsets of a si…

…ngle lgb.Dataset object.
Added in response to a comment of @wxchan in #745

@j-mark-hou,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@j-mark-hou @wxchan
ready for merge ?

@guolinke I think it's ok to merge.

go ahead yeah

actually, I think @wxchan has a point I didn't realize the test time was a major constraint.  I'll fix this tonight and let's merge then instead.

@j-mark-hou actually the time increase is trivial. You can remove some duplicate cases. One subset and one subset of subset is good.

alright i'll do that tonight thanks

@guolinke ready to merge.


Migrate fabric8-forge to Spring Boot

And use undertow as the HTTP server. Currently we use Jetty standalone. But it would maybe be better to use SB so its like other java apps.
We tried with WF-Swarm but forge has classloading issues there
https://github.com/fabric8io/fabric8-forge/tree/master/fabric8-forge-swarm

What kind of classloading issues? I have it working here: https://github.com/forge/forge-service/tree/master/web

You can try
https://github.com/fabric8io/fabric8-forge/tree/master/fabric8-forge-swarm

It looks like it has some sort of conflict with Apache CXF:
Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000071: Managed bean with a parameterized bean class must be @Dependent: class org.apache.cxf.jaxrs.provider.CachingMessageBodyReader

The "classloading" problem is solved by excluding the CXF Jars on fabric8-forge-core as below:
    <dependency>
      <groupId>io.fabric8</groupId>
      <artifactId>gitrepo-api</artifactId>
      <exclusions>
        <exclusion>
          <artifactId>cxf-utils</artifactId>
          <groupId>io.fabric8</groupId>
        </exclusion>
        <exclusion>
          <artifactId>cxf-rt-rs-client</artifactId>
          <groupId>org.apache.cxf</groupId>
        </exclusion>
      </exclusions>
    </dependency>

However, there is another issue regarding the addon repository location, as the current ForgeInitailiser class reads from a directory that does not exist when Swarm boots up (or maybe I am missing something when testing it)

One suggestion is to bundle the Addons inside the UberJar and initialize with a ServletContextListener, as in https://github.com/forge/forge-service/blob/master/web/src/main/java/org/jboss/forge/service/main/ForgeInitializer.java
Here is how to make the addons part of the UberJar: https://github.com/forge/forge-service/blob/master/web/pom.xml#L83

Thanks @gastaldi the CXF issue is gone, but when I run wildfly-swarm:run then it does not detect the JAX-RS classes and start that.
For the forge addon we currently store those outside the .jar and point to them using an ENV variable as:
https://github.com/fabric8io/fabric8-forge/blob/master/fabric8-forge/src/main/docker/assembly.xml#L33
https://github.com/fabric8io/fabric8-forge/blob/master/fabric8-forge/pom.xml#L351

That should work too. Do you have the correct fractions set in the pom.xml (jaxrs and cdi basically)?

I would think so the fractions are listed here
https://github.com/fabric8io/fabric8-forge/blob/master/fabric8-forge-swarm/pom.xml#L76

You mentioned that wildfly-swarm:run doesn't detect the JAX-RS classes. Does this happen with java -jar too? Can you paste the logs?


Fix the javascript file content type check in the administration sw-media-upload-v2 component

Fix the javascript file content type check in the administration sw-media-upload-v2 component

1. Why is this change necessary?
The uploaded content type is checked with a forEach in the accepted types. But the foreach never break so eventually only the last accepted format is verified. So it is impossible to attach a pdf file with the template editor because the last accepted mime type tested is image/*.
There is a second problem. Accepted formats are retrieved with a split on a string that contains a comma-separated list. But this does not take into account the spaces after the commas that must be trimmed.
2. What does this change do, exactly?
This change replace the forEach by the some method, so as soon as a content type matches an accepted format the check stops. The accepted formats recovered with a split are trimmed.
3. Describe each step to reproduce the issue or behaviour.
Try to upload a pdf file attachment with the administration email template editor.
4. Please link to the relevant issues (if any).
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.bruno.dimiceli seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @keulinho ok. Its true thas my local repository was configured with another email. I am going to make a new PR.


Route::group(['middleware' => ['role:admin|coach']], function() {} - Multiple Roles not working

Hello,
Ive been using Entrust in my application. Ive done everything according to the installation.
Anyhow;
Route::group(['middleware' => ['role:admin|coach']], function() {
// my routes
}
Ive been logged in as an user with the role Admin.
However I always get redirected to ('/'). Any suggestions?
My middleware handler function
`
<?php namespace Zizaco\Entrust\Middleware;
/**
 * This file is part of Entrust,
 * a role & permission management solution for Laravel.
 *
 * @license MIT
 * @package Zizaco\Entrust
 */

use Closure;
use Illuminate\Contracts\Auth\Guard;

class EntrustRole
{
	protected $auth;

	/**
	 * Creates a new instance of the middleware.
	 *
	 * @param Guard $auth
	 */
	public function __construct(Guard $auth)
	{
		$this->auth = $auth;
	}

	/**
	 * Handle an incoming request.
	 *
	 * @param  \Illuminate\Http\Request $request
	 * @param  Closure $next
	 * @param  $roles
	 * @return mixed
	 */
	public function handle($request, Closure $next, $roles)
	{

		if ($this->auth->guest() || !$request->user()->hasRole(explode('|', $roles)) {

			 return redirect('/');
		}

		return $next($request);
	}
}

Hi @phoenixz0024
Are you getting any specific error?

Thanks for answering, no I am not getting an error. It is just redirecting to ('/') so I assume hasRole() returns false; I've tested this and hasRole() returns true when i have either coach or the admin role.
Any other suggestions? I am using laravel 5.2

have you included
'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
in your kernel

I've added everything according to the setup
  'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
       'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
       'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,

try putting dd($roles);  in your middleware and let me know what u are getting there.

dd($roles); in EntrustRole class outputs the following;   "coach|manager"

try dd($this->auth->guest() , $request->user()->hasRole(explode('|', $roles)) in middleware

Output:
false
true

That means everything is working according to the response you are getting.Issue is something else. You are not getting redirected from middleware .

Ok so according to this, it doesnt go to redirect('/') but its returning the $next($request);. What will be the next step to look for an error.
Do I have to mention the middleware in the __construct method?

Now the only solution is you have to check line by line .So firstly go to the function from your route .And try to print there.If it is getting there or not.

I think I fixed it. In my controller i had this in the __construct()
public function __construct()
	{
		$this->middleware('auth' );
		$this->middleware(['role:coach'] , ['except' => ['index','show']]);

	}

This isn't working, but if comment these its working... Could you explain this?

yes you actually don't need this.


feat: add tbox

Adds tbox to use precomputed values of subBytes * 2 and subBytes * 3

@yash1io can you update readme with the new constraints?


UI Enhancement

UI improvements to be done:

Make a modern Navbar
Book Cards UI should be enhanced
Font spacing, sizing and styling to be improved

@aayu5hgit Someone is working on improving the functionality of the website. After that I will look to assign you.

@aayu5hgit you can work on it.

Great, thanks @harshit1142 .

Hey @harshit1142 , I've raised a PR for book cards UI ennhancement, kindly check

@aayu5hgit merged.


Light Client Hackathon TODO

Project public URL https://hack.ethglobal.co/showcase/lodestar-light-client-recElTbWnTEw2ehQL

[x] 1. Light client server

[x] a. Light Client Update creation https://github.com/ChainSafe/lodestar/pull/2494
[x] b. Sync API - (depends on 1a) (Lion) https://github.com/ChainSafe/lodestar/pull/2494
[x] c. Proof API - Request/response proofs API and proof serialization (Cayman, PR open that will unblock a light client)

[x] 2. Light client client (able to hit consumer endpoints, sync state machine)

[x] a. Consume update and sync (Lion, simple/naive approach https://github.com/ChainSafe/lodestar/pull/2400) "fast" with mock backed https://github.com/ChainSafe/lodestar/pull/2494
[x] b. Consume proofs and display partial data (Cayman) https://github.com/ChainSafe/lodestar/pull/2493
[x] c. test sync and proof interaction https://github.com/ChainSafe/lodestar/pull/2494
[x] d. Combine into a website (no style, eg https://yieldfarming.info/) https://github.com/ChainSafe/lodestar/pull/2494

[x] 3. Implement Altair fork on beacon node

[x] a. State transition
[x] b. State transition fast (optimize)(Cayman) https://github.com/ChainSafe/lodestar/pull/2508
[x] c. Update validator flow (Tuyen, refresh of block + attestation creation)

[x] 1. Beacon node server https://github.com/ChainSafe/lodestar/pull/2514 https://github.com/ChainSafe/lodestar/pull/2521 https://github.com/ChainSafe/lodestar/pull/2522
[x] 2. Validator client (includes adding sync committee services and extra signatures) https://github.com/ChainSafe/lodestar/pull/2520

[x] d. Networking

[x] 1. Gossip https://github.com/ChainSafe/lodestar/pull/2479 https://github.com/ChainSafe/lodestar/pull/2519
[x] 2. Request/response (Lion) https://github.com/ChainSafe/lodestar/pull/2444
[x] 3. Discv5 https://github.com/ChainSafe/lodestar/pull/2484

[ ] 4. Bonus: Smuch it all together

[x] Add sim tests for Altair with ALTAIR_FORK_EPOCH = 0
[x] Add sim tests for Altair fork transition with ALTAIR_FORK_EPOCH = 2
[x] Run a local devnet with Altair
[x] Interop with Teku (already Altair capable)
[x] Implement Lightclient producer code (https://github.com/ChainSafe/lodestar/pull/2494) in the real BeaconNode

Update: added Discv5 to the networking part (3d).

Includes https://github.com/ChainSafe/lodestar/issues/2085

Completed


bug(password): fixes URL for password reset

The forgot password functionality broke somewhere along the way. Restores functioning version.

Awesome @jmmastey. I think we went with a match route, later changed it as match was sorta-ish deprecated in Rails 4+. Anyways, believe those changes might have caused some issues.
Either way, verified everything worked locally and performed PR. Thanks again!


update pypi firewall rules

Resolves #3694
What is being addressed
Describe the current behavior you are modifying. Please also remember to update any impacted documentation.
How is this addressed

Describe the changes made, and if appropriate, why they are addressed this way
Note any pending work (with links to the issues that will address them)
Update documentation
Update CHANGELOG.md if needed
Increment template version if needed, for guidelines see Authoring templates - versioning

abandoning this PR in favour of another (smaller) PR


Fix spelling in Dask/Koalas Guide

Fixes Thew --> The

The ModuleNotFoundError just started showing up for me as well. We can fix by adding mock==4.0.3 (or another version if it'd be better) to our test requirements (not sure why it wasn't relevant before, though) to fix it


[Question]: How to improve search quality

Describe your problem
I found that when searching, I searched based on keywords and did not have a good understanding of some semantics. How can I improve the effect of re-ordering?

Suggestion:

Beside using keywords similarity, use embedding similarity.
Rewrite the query.
Add an extra dimension to both query and doc, say, categories.

Suggestion:

Beside using keywords similarity, use embedding similarity.
Rewrite the query.
Add an extra dimension to both query and doc, say, categories.

Is there any specific guidance document here?

Suggestion:

Beside using keywords similarity, use embedding similarity.
Rewrite the query.
Add an extra dimension to both query and doc, say, categories.

Hi author, thanks for your great work, I would like to ask if I can format the document to be more conducive to querying if I follow the third point, or format the document, what are the ideas over here?


Upload Python Wheel to PyPI to support Windows and update README

I see that there was a new release 0.4.0 on PyPI, but there is still no Python Wheel package available. This means you can't install git-fat on Windows. It will install using the .tar.gz, but it won't work. A python wheel package is required that contains windows binaries. It can be generated by running the win32/setup_wheel.bat script.
Regarding README, I think the whole "Installation on Windows" section should be removed. It's confusing and not really needed. Maybe only just add the note that the Python/Scripts directory must be in PATH, in some other place in README.
Also it should be noted in README that currently you can't install it Windows using the pip command. It can be installed from sources by running the win32/setup_wheel.bat script.
@abraithwaite Let me know if you would like me to generate the Wheel package and send it to you. If you plan on doing it later on your own, then maybe just update README in the meantime to avoid confusion.

Yeah, making the Wheel stuff available sounds like a good idea to help people on Windows move forward.  Update the README to reflect any Windows specific usage/requirements should be done at the same time too (just saying).

Yes, it slipped my mind that there might be another step in the release process for Windows.  Since I don't have access to a windows machine, I would appreciate it if you could send the wheel package to me for upload.

Yes, it slipped my mind that there might be an additional installation step for windows users.
However, looking deeper it appears that it should be possible to combine the windows/unix packages into one wheel package.  Unless you think that can't be done, I'm going to give it a shot.  I'll update the readme as well.  (I have never used wheel before but the site http://pythonwheels.com/ makes it sound easy if there aren't any c extensions).

The Wheel package is a way to distribute package on PyPI that contains platform specific binaries. I don't think you can create a single wheel package for all platforms in our case. On Windows you need to ship Windows specific binaries, so a separate package tagged for Windows platform is the way to go. The generated wheel file is named like "git_fat-0.3.4-cp27-none-win32.whl". It contains Python tag (cp27) and platform tag (win32). I think it's okay to provide .tar.gz source package for Linux/Mac and .whl for Win. I've tested it and pip will prefer the .whl package when installing, given that the latest source package is the same version as the .whl package. If you upload a new version with only .tar.gz package, then pip will install that package on Windows and it won't work. So it's important to always upload the .whl package along with .tar.gz when doing a release.

I think you're right. Looking at the win32 directory more closely, it seems like it might be difficult to be just a source distribution.
If you send me the 0.4.0 .whl package, I can manually add it this time around and next time we can figure out something more automated and less fragmented.

I've uploaded .whl packages to Google Drive - download from here.

Uploaded

@abraithwaite README still needs updating

Yes, thank you.

Hmm, so looking at doing another release, I was thinking about doing this:

next time we can figure out something more automated and less fragmented.

But then I ran into this (according to pythonwheels.org):

You will need to have access to the platform you are building for.

If I release a new version, would you mind building a wheel package for windows?

@abraithwaite Not a problem

So... what is needed to get git-fat running on Windows?

@stemann I think it's installable as a .whl for windows now.  I'm still learning about how those work, but I don't have a windows machine to try it out.  Sorry!

@CzarekTomczak I just did another release, so if you would be so kind as to build another windows package, I think many would appreciate it. :shipit:
As an aside, know of any free for OSS windows build servers?

@abraithwaite Thanks, it worked out.
You could run the Windows build on an on-demand Windows Vagrant box:
https://atlas.hashicorp.com/boxes/search?utf8=✓&sort=&provider=&q=windows

@abraithwaite Uploaded, see here. Tests run fine.


Fail to copy 1TB file from B2 to S3

What is the problem you are having with rclone?
Error copying or syncing from B2 to S3
What is your rclone version (output from rclone version)
rclone v1.45

os/arch: windows/amd64
go version: go1.11

Which OS you are using and how many bits (eg Windows 7, 64 bit)
Win 10 64 bit
Which cloud storage system are you using? (eg Google Drive)
Backblaze B2 to AWS S3
The command you were trying to run (eg rclone copy /tmp remote:tmp)
rclone sync -vv b2:VeeamOffsiteBackup\CBB_Veeam\F:\B2D\B2Cloud\B2Cloud-1-CritTest\B2Cloud-1-CritTestD2018-12-11T113029.vbk:\20181212034601\B2Cloud-1-CritTestD2018-12-11T113029.vbk aws:critbucket
A log from the command with the -vv flag (eg output from rclone -vv copy /tmp remote:tmp)
C:\Rclone>rclone sync -vv b2:VeeamOffsiteBackup\CBB_Veeam\F:\B2D\B2Cloud\B2Cloud-1-CritTest\B2Cloud-1-CritTestD2018-12-11T113029.vbk:\20181212034601\B2Cloud-1-CritTestD2018-12-11T113029.vbk aws:critbucket
2018/12/19 00:26:23 DEBUG : rclone: Version "v1.45" starting with parameters ["rclone" "sync" "-vv" "b2:VeeamOffsiteBackup\\CBB_Veeam\\F:\\B2D\\B2Cloud\\B2Cloud-1-CritTest\\B2Cloud-1-CritTestD2018-12-11T113029.vbk:\\20181212034601\\B2Cloud-1-CritTestD2018-12-11T113029.vbk" "aws:critbucket"]
2018/12/19 00:26:23 DEBUG : Using config file from "C:\\Users\\tom77\\.config\\rclone\\rclone.conf"
2018/12/19 00:26:24 DEBUG : pacer: Reducing sleep to 0s
2018/12/19 00:26:24 INFO  : S3 bucket critbucket: Waiting for checks to finish
2018/12/19 00:26:24 INFO  : S3 bucket critbucket: Waiting for transfers to finish
2018/12/19 00:26:25 DEBUG : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Reading sha1 from header - "none"
2018/12/19 00:26:25 DEBUG : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Reading sha1 from info - ""
2018/12/19 00:27:24 INFO  :
Transferred:      451.996M / 1018.719 GBytes, 0%, 7.489 MBytes/s, ETA 38h40m36s
Errors:                 0
Checks:                 0 / 0, -
Transferred:            0 / 1, 0%
Elapsed time:      1m0.3s
Transferring:
 *      B2Cloud-1-CritTestD2018-12-11T113029.vbk:  0% /1018.719G, 8.653M/s, 33h28m24s

2018/12/19 00:28:24 INFO  :
Transferred:          525M / 1018.719 GBytes, 0%, 4.362 MBytes/s, ETA 66h23m46s
Errors:                 0
Checks:                 0 / 0, -
Transferred:            0 / 1, 0%
Elapsed time:      2m0.3s
Transferring:
 *      B2Cloud-1-CritTestD2018-12-11T113029.vbk:  0% /1018.719G, 329.321k/s, 900h33m40s

2018/12/19 00:29:02 ERROR : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Failed to copy: MultipartUpload: upload multipart failed
        upload id: lBif9At_P4lGY23EuaiM9ACt1ZuA6fa2WEHN7PNEAHafsNbcN8PUV0mayO1oG04aaGluwf9IF1eZdVAeMJhEFeuK5S5MSwwiTb_ptOWEceXrS.hD6vOitucRkTGtl25x
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF
2018/12/19 00:29:02 ERROR : S3 bucket critbucket: not deleting files as there were IO errors
2018/12/19 00:29:02 ERROR : S3 bucket critbucket: not deleting directories as there were IO errors
2018/12/19 00:29:02 ERROR : Attempt 1/3 failed with 1 errors and: MultipartUpload: upload multipart failed
        upload id: lBif9At_P4lGY23EuaiM9ACt1ZuA6fa2WEHN7PNEAHafsNbcN8PUV0mayO1oG04aaGluwf9IF1eZdVAeMJhEFeuK5S5MSwwiTb_ptOWEceXrS.hD6vOitucRkTGtl25x
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF
2018/12/19 00:29:02 INFO  : S3 bucket critbucket: Waiting for checks to finish
2018/12/19 00:29:02 INFO  : S3 bucket critbucket: Waiting for transfers to finish
2018/12/19 00:29:03 DEBUG : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Reading sha1 from header - "none"
2018/12/19 00:29:03 DEBUG : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Reading sha1 from info - ""
2018/12/19 00:29:24 INFO  :
Transferred:      719.884M / 1019.260 GBytes, 0%, 3.991 MBytes/s, ETA 72h35m7s
Errors:                 0
Checks:                 0 / 0, -
Transferred:            0 / 1, 0%
Elapsed time:      3m0.3s
Transferring:
 *      B2Cloud-1-CritTestD2018-12-11T113029.vbk:  0% /1018.719G, 8.153M/s, 35h32m1s

2018/12/19 00:30:24 INFO  :
Transferred:        1.054G / 1019.260 GBytes, 0%, 4.489 MBytes/s, ETA 64h31m21s
Errors:                 0
Checks:                 0 / 0, -
Transferred:            0 / 1, 0%
Elapsed time:      4m0.3s
Transferring:
 *      B2Cloud-1-CritTestD2018-12-11T113029.vbk:  0% /1018.719G, 2.674M/s, 108h19m4s

2018/12/19 00:31:24 INFO  :
Transferred:        1.089G / 1019.260 GBytes, 0%, 3.712 MBytes/s, ETA 78h0m42s
Errors:                 0
Checks:                 0 / 0, -
Transferred:            0 / 1, 0%
Elapsed time:      5m0.3s
Transferring:
 *      B2Cloud-1-CritTestD2018-12-11T113029.vbk:  0% /1018.719G, 619.077k/s, 479h2m30s

2018/12/19 00:31:30 ERROR : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Failed to copy: MultipartUpload: upload multipart failed
        upload id: XrXFHw2P75uDP3x8RKWFlGCiZlB8czTyjrvSas0DW9Hzmnuouht..HwV5YwGCC3K2nt7fx4MYiQxi_eDFTCoDfgzKjij7mpebIot0k45ChQqa_4z1fflU6BimWYpVxBR
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF
2018/12/19 00:31:30 ERROR : S3 bucket critbucket: not deleting files as there were IO errors
2018/12/19 00:31:30 ERROR : S3 bucket critbucket: not deleting directories as there were IO errors
2018/12/19 00:31:30 ERROR : Attempt 2/3 failed with 1 errors and: MultipartUpload: upload multipart failed
        upload id: XrXFHw2P75uDP3x8RKWFlGCiZlB8czTyjrvSas0DW9Hzmnuouht..HwV5YwGCC3K2nt7fx4MYiQxi_eDFTCoDfgzKjij7mpebIot0k45ChQqa_4z1fflU6BimWYpVxBR
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF
2018/12/19 00:31:30 INFO  : S3 bucket critbucket: Waiting for checks to finish
2018/12/19 00:31:30 INFO  : S3 bucket critbucket: Waiting for transfers to finish
2018/12/19 00:31:31 DEBUG : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Reading sha1 from header - "none"
2018/12/19 00:31:31 DEBUG : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Reading sha1 from info - ""
2018/12/19 00:32:24 INFO  :
Transferred:        1.590G / 1019.808 GBytes, 0%, 4.518 MBytes/s, ETA 64h6m24s
Errors:                 0
Checks:                 0 / 0, -
Transferred:            0 / 1, 0%
Elapsed time:      6m0.3s
Transferring:
 *      B2Cloud-1-CritTestD2018-12-11T113029.vbk:  0% /1018.719G, 9.595M/s, 30h11m4s

2018/12/19 00:33:24 INFO  :
Transferred:        1.628G / 1019.808 GBytes, 0%, 3.966 MBytes/s, ETA 73h1m16s
Errors:                 0
Checks:                 0 / 0, -
Transferred:            0 / 1, 0%
Elapsed time:      7m0.3s
Transferring:
 *      B2Cloud-1-CritTestD2018-12-11T113029.vbk:  0% /1018.719G, 1.729M/s, 167h30m46s

2018/12/19 00:34:01 ERROR : B2Cloud-1-CritTestD2018-12-11T113029.vbk: Failed to copy: MultipartUpload: upload multipart failed
        upload id: 8uMrB1pJjZ0Tp22mDOHjUUVY9UpG57Jk8utIOD2mfG1d4SMU47oh8CKMgNktoELOhmuAHB7wPfpkJYNos.scqNNF85RVn3Q_aTRmt70ob22nRudZJ2GfKwd3bPJtSPWu
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF
2018/12/19 00:34:01 ERROR : S3 bucket critbucket: not deleting files as there were IO errors
2018/12/19 00:34:01 ERROR : S3 bucket critbucket: not deleting directories as there were IO errors
2018/12/19 00:34:01 ERROR : Attempt 3/3 failed with 1 errors and: MultipartUpload: upload multipart failed
        upload id: 8uMrB1pJjZ0Tp22mDOHjUUVY9UpG57Jk8utIOD2mfG1d4SMU47oh8CKMgNktoELOhmuAHB7wPfpkJYNos.scqNNF85RVn3Q_aTRmt70ob22nRudZJ2GfKwd3bPJtSPWu
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF
2018/12/19 00:34:01 Failed to sync: MultipartUpload: upload multipart failed
        upload id: 8uMrB1pJjZ0Tp22mDOHjUUVY9UpG57Jk8utIOD2mfG1d4SMU47oh8CKMgNktoELOhmuAHB7wPfpkJYNos.scqNNF85RVn3Q_aTRmt70ob22nRudZJ2GfKwd3bPJtSPWu
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF

C:\Rclone>

Hmm, the underlying error there is unexpected EOF which is usually caused by the source stream closing unexpectedly too early.  So what it looks like is that the b2 end stopped delivering the data stream.
This happened at about the same point each time.
Can you download the file from B2 to your local disk using rclone?

Yes, I can download the file from B2 to local disk using rclone:
rclone sync -vv b2:b2-snapshots-d716a595b4bf local:
The issue still occurs when I transfer from B2 to S3.

I think this issue would be fixed by https://github.com/ncw/rclone/issues/2108 which is due to be implemented soon!
I suspect that the very long duration transfer from B2 is being timedout somehow.

I've merged this to master now which means it will be in the latest beta in 15-30 mins and released in v1.47


Reference data quality and content standards

Ability to reference external data content and quality standards such as ISO 19131:2007 and ISO 8000

TCS 15.11.2022: Most like will be document level attributes (optional) to describe external data content/quality standards. Needs more research.

Another good set of standards is OAGi/OAGIS. https://oagi.org

https://github.com/Open-Data-Product-Initiative/open-data-product-spec-1.1dev/pull/25

Proposal made to v1.1.


File stuck untokenized

I was testing something else and I made a file really big. Now that I've reverted the change it still won't tokenize. I get a toast about it which offers to forcefully tokenize, but when I choose that option and reopen the file it still doesn't tokenize and gives me the same toast again.

@alexr00 The difficulty is that certain decisions about a text buffer are taken in the ctor and then cannot be changed currently. Two things that I can imagine going wrong:

Perhaps the setting could not be written to settings.json? Do you have "editor.largeFileOptimizations": false in your settings?
Perhaps the text model is not getting disposed when closing via x, but I doubt this, let's first check for 1.

I do have "editor.largeFileOptimizations": false
I can't reproduce the issue anymore though.

What could have happened is that closing the file via x would not dispose the model. This could happen if a file still has a reference created via ITextModelService.createModelReference
@bpasero What should we do here, the message I have is instructing users to reopen the file, but pressing x and opening it again didn't do that...

@alexdima you can call ITextFileService.files.disposeModel with the resolved text file model to forcefully dispose it. This will work fine, unless the model is dirty (which is unlikely because all editors are closed).

@alexr00 Above I was speculating about what could be the root cause, but I could never reproduce this. Have you seen this since then? Do you have any steps?

I have not been able to repro this today.


blog.html

Key Changes:
Empty Links Fixed: All  attributes now have valid links or placeholders like href="single.html".
Accessibility: Images now have meaningful alt text.
JavaScript Libraries: Commented to check the latest versions of libraries like jQuery and Bootstrap.
Semantic HTML: Updated structure with semantic tags (e.g., ).

@Deeptig9138 please mention issue as well and share send screen record also

@Deeptig9138 kindle resolve conflict and update sync fork

done


Extract hair region

How to extract the hair region from the original image after the hair is segmented? Once we predict the hair segmentation part, we are getting results like the purple color on hair which shows the detection part. but I want only segmented hair (with the original color of hair) and remove face and background. Can you guide me on how to manipulate pixels with OpenCV? @thangtran480  @gungui98

How to only segment hair (with original color)?


update the default "split" value

summary
now that allinson_flex can be used with bulkrax, we should consider changing the default split value to "true" in default_field_mapping.
since allinson_flex is supposed to handle adding/removing property's on the fly, we don't need to define those properties in "config/initializers/bulkrax.rb" in each client app. however, many users import a multi valued property using a split character and not with numerated headers.
this change would allow for that continued behavior for users using allinson_flex and bulkrax together. it should also not mess up existing behavior

@orangewolf @sephirothkod @bkiahstroud @ShanaLMoore @kirkkwang opinions?

hmmm. yeah those would be useful too. thanks!

in UTK there's a MR that checks for AllinsonFlex profiles, maybe something like that and set it to true if conditions are met?
https://gitlab.com/notch8/utk-hyku/-/merge_requests/83/diffs#3ebc2864d890372340663389de3c9fe45fc07fe2_0_9

in UTK there's a MR that checks for AllinsonFlex profiles, maybe something like that and set it to true if conditions are met?

that could be a possibility, but I'm thinking more of changing the split value to be more accessible/dynamic overall....not just when AF is installed. having AF installed however is one of the use cases that makes a more dynamic approach necessary.


[TFLite][Frontend] Fix test failures caused by div-by-zero

Tests were failing b/c TVM and TFLite disagree on div-by-zero cases.
floor_mod still fails, this is probably a behaviorial difference.
#15148

@Lunderberg hi! sorry to bug. is this PR still needed?

@p3achyjr Thank you for the reminder, and it would still be good to get this PR in, even if re-enabling the flaky floor_mod test is saved for a follow-up PR.

@Lunderberg thanks for getting back!!


CPU only version not working

Pulling bethgelab/jupyter-deeplearning:ubuntu-14.04 onto my laptop without cuda devices and then running
./agmb-docker run -e GROUPS=sudo -e USER_HOME=$HOME -p 534:8888 -d bethgelab/jupyter-deeplearning:ubuntu-14.04
gives error
[ NVIDIA ] =ERROR= Command not found: nvidia-smi
When just running
docker run -d -p 534:8888 bethgelab/jupyter-deeplearning:ubuntu-14.04
the container immediately stops as if no notebook is started

I think a simply script like agmb-docker but without all the nvidia and gpu stuff (i.e. a script that just sets the environment variables USER, USER_ID, USER_ENCRYPTED_PASSWORD, …) should solve this. Of course, making this part of the agmb-docker script would be nice. /cc @wielandbrendel

Works perfectly fine for me. @leongatys Are you sure you are using the latest agmb-docker script?

Has this been resolved @leongatys ?

I don't know, I haven't tried this with the latest version, but back then I found some way around it.

The new agmb-docker script calls nvidia-docker, which will not be available, so it certainly won't work out of the box. Maybe it's enough to overwrite to call agmb-docker with the DOCKER variable set to docker, but I guess one would also need to specify several USER_* variables. In the end, I don't think the agmb-docker script is intended to be used for these cases.

Makes sense. Closing as wontfix.


Clicks on larger children are canceled

When I use this technique:
http://stackoverflow.com/questions/15611905/making-the-clickable-area-of-in-line-links-bigger-without-affecting-the-layout
and click on a point that is within the :after but outside the .waves-effect element, the click is canceled (the wave does not occur and the link href is not loaded). The desired behavior is for both the click event to occur and for the waves effect to occur, originated at the point on the edge of the .waves-effect element that is closest to the click location.

Codepen: http://codepen.io/anon/pen/QbgXJL
You'll see from this codepen that the :after pseudo-element is contained within the <a> link. Because the .waves-effect element requires overflow:hidden, the pseudo-element is hidden inside the <a> tag.
In the codepen, I've added a workaround using the margin and padding (although this may require display: inline-block). This does make the waves-effect overly large unless you reduce the size of the margin and padding I've used.
In the third example, I've wrapped the text in a span, but the .waves-effect will now only be initiated if the span is clicked, otherwise it will just hit the link. Unless you want to manually write some JS to fire a Waves.ripple() event when the .extra element is clicked.
Note that waves is intended to give visual feedback for a click on a block/button-styled element rather than inline text.

Thank you! My .waves-effect is on link that contains an icon, and already has circular padding. I want the :after to be larger than the circle that the wave fills. That would be the easiest solution, but I take it that method is not workable, so I will go the 3rd route with Waves.ripple().


Make HLL easier to use, add Hash128 typeclass

@ianoc @avibryant
what do you think?
Got some comments HLL is too hard to use. Trying to make it easier.

Looks worthwhile.

Seems like a good thing to have, its come up a few times in various forms. Once we are confident that no-hashes have changed(i see you've a test) then it seems like it should be a low impact thing. It doesn't change any existing binary API's does it? just extends them?

@ianoc yes, it only adds APIs, and since HLL actually natively works on Array[Byte] the create method was just serializing them for you, so it was easy to make sure we didn't change that.

Don't merge this. It changes the the type signature of two methods, which will introduce a binary incompatibility with 0.10. We can try to find a new name so we won't need to republish everything above.
Those methods were added in 0.10, so they were safe to change, but now since 0.10 is out it is no longer safe to change them.

@johnynek Want to update this to develop? looks like with the extra method we are already going to be binary incompatible so good to go i think

Are we already binary incompatible with 0.10?

The addition of level in #444 makes us binary incompatible i believe.

yeah, that's not worth it for a version number bump if you ask me. It is almost as convenient to override prepare as it is to override level.
Once again, I wish we had mima wired into our tests and we actually tried to minimize non-patch bumps.
In fact, almost no one would hit such a binary incompatibility, but since versions are so coarse, consumers need to consider if the bump is safe (which is expensive), which means slower adoption of never code, which means fewer people testing and contributing to the latest version.

[tw-mbp-oscar algebird]$ ./sbt algebird-core/mima-report-binary-issues
[info] Loading global plugins from /Users/oscar/.sbt/0.13/plugins
[info] Loading project definition from /Users/oscar/workspace/algebird/project
[info] Set current project to algebird (in build file:/Users/oscar/workspace/algebird/)
[info] Resolving com.googlecode.javaewah#JavaEWAH;0.6.6 ...
[info] algebird-core: found 0 potential binary incompatibilities
[success] Total time: 3 s, completed May 20, 2015 1:55:41 PM

Old one... but why was batch create deprecated as part of this? potential performance regression?

@ianoc because it requires an implicit conversion in scope, which is now generally viewed as bad hygiene.

Ah ok, so we probably need to add a new one to replicate the old batch behavior with the better usage of hasher.

Yeah, that would be good. Sorry I didn't do that at the time. I guess I overlooked that there was an optimization in there.


Tablero freezes on load if the tracked repo has any issue without description

/js/component/templates/issue_template.js:31 Uncaught TypeError: Cannot read property 'slice' of null

Fixed.


eslint-plugin-tsdoc: allow policies to be ignored in tsdoc/syntax rule

Now that less-strict parsing for @param tags is merged (https://github.com/microsoft/tsdoc/issues/128), I'd love to be able to loosen the requirements of the tsdoc/syntax rule to allow for certain deviations from the expected syntax.
Primarily, VSCode's built-in JSDoc support automatically adds a doc comment where each @param tag is followed immediately by a description, without the expected hyphen. With the following .eslintrc configuration:
{
  rules: {
    'tsdoc/syntax': 'warn'
  }
}

This snippet is valid:
/**
 * Description
 * @param a - first number
 * @param b - second number
 */
const add = (a: number, b: number) => a + b;

While this snippet:
/**
 * Description
 * @param a first number
 * @param b second number
 */
const add = (a: number, b: number) => a + b;

Warns with the following:
tsdoc-param-tag-missing-hyphen: The @param block should be followed by a parameter name and then a hyphen eslint(tsdoc/syntax)

I'd love to be able to ignore this particular syntax deviation with something like:
{
  rules: {
    'tsdoc/syntax': ['warn', ignore: ['tsdoc-param-tag-missing-hyphen'] ]
  }
}

This is a good idea. However I think we might want to approach it via the tsdoc.json config file rather than via ESLint's configuration.  The reason is that you are not really suppressing a warning, but rather defining the kind of TSDoc parsing that you want for your source files.  Putting the suppression in tsdoc.json will prevent other tools from reporting the same errors when they invoke the parser.
Long term, we intend to provide a "lax mode" as well as other compatibility settings for the TSDoc parser.  But in the short term, this kind of problem can be solved pretty well by simply filtering out specific error IDs as you suggest.  (The reason that's not a perfect solution is that the syntax highlighting may sometimes color the bad characters in red even though the error message is hidden.)
eslint-plugin-tsdoc already supports tsdoc.json, so we would simply need to improve tsdoc.schema.json to support something like this:
your-project/tsdoc.json
{
  "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
  "ignoreMessageIds": [
    "tsdoc-config-file-not-found"
  ]
}

...and then pass that setting through to the parser.  It's mostly plumbing work, since in the end all we're doing is adding a filter to ParserMessageLog.addMessage().

I just run into a problem and disabling rules doesn't work as usual where I have a section in the .eslintrc.json for *spec.ts files
https://jestjs.io/docs/en/configuration#testenvironment-string
/**
 * @jest-environment jsdom
 */

  2:4  warning  tsdoc-characters-after-block-tag: The token "@jest" looks like a TSDoc tag but contains an invalid character "-"; if it is not a tag, use a backslash to escape the "@"  tsdoc/syntax

but haven't found a way to disable this rule.

I would second this request. Our use case is the need to disable the ts-doc-at-sign-in-word rule, The following should not trigger any warnings:
/**
 * A method description containing an<EMAIL_ADDRESS>causing a linter warning.
 */
private getEmailAddress (): string {
    return<EMAIL_ADDRESS>}

Yes, please an "ignoreMessageIds" is very much needed.  Unless I am missing something it seems the eslint-plugin-tsdoc is all or nothing.  Is there any way to stop reporting on some message ids at the moment?

So basically there is no way to keep using @author if we want to use eslint-plugin-tsdoc?

re: https://github.com/microsoft/tsdoc/issues/220#issuecomment-1369968157

So basically there is no way to keep using @author if we want to use eslint-plugin-tsdoc?

of cause you could create own tags.
this is my tsdoc.json file:
{
  "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
  "tagDefinitions": [
    {
      "tagName": "@since",
      "syntaxKind": "block",
      "allowMultiple": false
    },
    {
      "tagName": "@author",
      "syntaxKind": "block",
      "allowMultiple": true
    },
    {
      "tagName": "@TODO",
      "syntaxKind": "block",
      "allowMultiple": true
    }
  ]
}

This would be a great (and essential) addition.  What is the status of this?

eslint-plugin-tsdoc already supports tsdoc.json, so we would simply need to improve tsdoc.schema.json to support something like this:

@octogonz did anything ever come of this? I liked your proposed approach. Are there any solutions today? Thanks.


When no specific event icon is present it is shown as a blank person profile

I'm using Nightly build 2018-08-28 23:06:03 on windows.
In the event overview there can be specific logo's attached to events. For example the yellow/white logo of Jumbo.
When there isn't a specific event icon the bunq App still uses different pictures on different events. In bunqDesktop this is shown as blank person profile.

I added the default images to certain types like virtual/real card payments and company vs person.
Because I don't know all the different things that bunq checks for to show these so there might be some inconsistencies


AzureResourceGroupDeployment not using the TFS Build Agent environment variables for the proxy

We are using the "AzureResourceGroupDeployment" task for azure deployments. The task is used on a build agent behind a corporate firewall. The agent does not use the environment variables set for the internet proxy (HTTP_PROXY, HTTPS_PROXY, NO_PROXY). Is there any way to force the Tasks to use the Proxy for the Azure endpoints?
ENVIRONMENT

TFS2017 - Update 2
Agent:
Windows Server 2012 R2, Build Agent TFS2017 (Agent Version 2.123)

LOG:
2018-01-18T12:11:23.6450614Z ##[debug]project=null
2018-01-18T12:11:23.6606920Z Checking if the following resource group exists: EmptyGroup.
2018-01-18T12:11:23.6919617Z ##[debug]Requesting for Auth Token: https://login.windows.net/********/oauth2/token/
2018-01-18T12:11:24.0044784Z ##[debug]{"code":"ECONNRESET"}
2018-01-18T12:11:24.0044784Z ##[debug]task result: Failed
2018-01-18T12:11:24.0200704Z ##[error]Failed to check the resource group status. Error: tunneling socket could not be established, cause=write EPROTO 101057795:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:

Thanks for reviewing. Are you aware of any work around for this issue?

Okay, after some troubleshooting I found that the .PROXY is not configured correctly. It will take some additional testing if this will resolve the issue.
The following post helped for configuring the agents:
https://github.com/Microsoft/vsts-agent/blob/61b82a80f224e444932e1a830ca49276872f3c54/docs/start/proxyconfig.md

@mwildenb are you got unblocked with this ?

Still stuck in limbo.
reconfiguring the agents was not the solution. We have another scenario which is working correctly:

VsTs Build ==>  On-Prem build agent (behind the proxy) -- works like a charm
TFT build  ==> On-Prem build agent (also behind the proxy) -- does bypass the proxy

I have tested the TFS configuration with
•TFS2017 - Update 2
•TFS2018
Seems like the VsTs AzureResourceGroupDeployment task via VsTs is a newer version as the TFS version
Question:

Can I manually upgrade the VsTs Tasks for TFS?
is there any other option working around the proxy?

Okay, after chatting with dev-ers I found the solution. An old version of the VsTs task (2.2.8) was causing the problems. After some testing with the correct .proxy configuration:
https://docs.microsoft.com/en-us/vsts/build-release/actions/agents/proxy?tabs=windows#tabpanel_7ufbwiC3ad_windows