Certain inscriptions containing

I just bought a cursed inscription through MagicEden to test our ability to store and display cursed inscriptions within Collections.
It does not show up in my Collectibles, and actually shows up as a UTXO "not" containing an inscription when using the "Retrieve BTC" feature [image attached below]
Inscription: https://ordinals.com/output/12192c9310e2a314fc31ecd26cf8997338da340b507f0f9e98c2c72e26d717c0:1
Transaction: https://mempool.space/tx/12192c9310e2a314fc31ecd26cf8997338da340b507f0f9e98c2c72e26d717c0

Ah yes, that would probably explain it. Though I wish we had a workaround for that, because it looks like more projects are using scripts in this way and Hiro doesn't seem to support them.
Another example of a non-cursed ordinal with script:
https://ordinals.com/inscription/5aa1e09c67aef0afb5c9711627784acb6f329181452feda487afcc6bceffde65i302
https://ordinals.hiro.so/inscription/5aa1e09c67aef0afb5c9711627784acb6f329181452feda487afcc6bceffde65i302

https://ord.link/49013928 This is one we are seeing displayed normally in the wallet it has this source code. So some script does run?
ce6ac6ce0e3fab436216d079c5bf76d949314458c19c3e0eb65ccd6e306ce398i0
<script
  src="/content/d91650a911e27c5402ffd45893b17023e0ede8cb6912aa11fee0bbb264de2bfdi0"
  data-p="ae31b4cd9a38d68a933a2cfffb14660eb402e39a8069352ec65392b696691f9ei0,ss,4,100,1,d"
></script>

Renamed the issue to be more in-line with what the actual problem is. Certain inscriptions containing

I see reports of users mentioning that RISC ordinals are not showing up either. These are recursive inscriptions child/parent with script tags, JS and HTML. I understand that some scripts may not be safe to execute in the wallet but we should show a placeholder so they can be interacted with and sent.
When they are in the taproot address, the user will be able to interact with these via Magic Eden and other supporting marketplaces.
It does look like ordinals.hiro.so indexer has caught up but users are reporting that these inscriptions are showing as uninscribed BTC rather than ordinal transactions.
I checked a couple of the transactions to see if the user got inscriptions with their outputs and it does look that way for this address:

Inscription transaction: https://mempool.space/tx/66971672febe2dc428122f29966c9a8294db863374a428497339bd9f5c480d43
Output with the inscription https://ordinals.com/output/66971672febe2dc428122f29966c9a8294db863374a428497339bd9f5c480d43:72
Inscription number: 66971672febe2dc428122f29966c9a8294db863374a428497339bd9f5c480d43i71
#56731572
https://ordinals.hiro.so/inscription/66971672febe2dc428122f29966c9a8294db863374a428497339bd9f5c480d43i71

https://mempool.space/tx/a42619616548586a7862b944a60ac05dd02e4b57e23722147edb133c3bebaf31
https://ordinals.com/output/a42619616548586a7862b944a60ac05dd02e4b57e23722147edb133c3bebaf31:380
a42619616548586a7862b944a60ac05dd02e4b57e23722147edb133c3bebaf31i379
#56737522

https://mempool.space/tx/2c769643f12359f598f03376f60a013b0bd2dbcf3e0ac61627f5735814cf8e73
https://ordinals.com/output/2c769643f12359f598f03376f60a013b0bd2dbcf3e0ac61627f5735814cf8e73:479
2c769643f12359f598f03376f60a013b0bd2dbcf3e0ac61627f5735814cf8e73i478
#56736221

Adding Pizza Ninjas to this list as well, since it's another higher-profile collection that is currently being recognized as uninscribed BTC
Ex:
https://www.ord.io/56246276
https://ordinals.hiro.so/inscription/39399e536443446eda3f26ce7038178ec3b69157f38eaed19caea4614aabaf62i107

We currently use the ordinals.com/preview/... to render in the iframe if type text/html.

In the case where a preview can't be rendered, like Pizza Ninjas, it'd be nice to have some sort of placeholder. Rendering a placeholder with something like "Preview unavailable" would at least put users at ease that their inscription arrived into their wallet, and would still give them the ability to send it if desired. This is especially needed for the RSIC inscriptions because in order to be "activated" the user needs to send it to themselves.

Linking to discussion on our slack related to quantum cats https://trustmachines.slack.com/archives/C0520G8J33M/p1707166443941859
Not displayed currently, also a series with:

child/parent inscriptions
there is .js involved (recursive module)

`<script
  c="cat0071"
  src="/content/627ae063b9e9d6de1ee2d981c96757f219724df8a1cd6652c4d3920deb0f901di0"
></script>

https://ordinals.com/inscription/4b31771df21656d2a77e6fa18720a6dd94b04510b9065a7c67250d5c89ad2079i71
https://ordiscan.com/inscription/53785931

It appears that Quantum Cats aren't showing up given an ID-related issue on the API side as reported with https://github.com/hirosystems/ordinals-api/issues/302.
@brandonmarshall-tm is it possible that Pizza Ninjas and RSIC are suffering from the same issue?
It's not clear to me if we're blocking certain HTML inscriptions in the wallet UI given script considerations or not, given @fbwoolf's indication that we're embedding previews from ordinals.com (not Hiro) and all relevant inscriptions seem to show up fine in ordinals.com as previews.
@fbwoolf I assume if they show up fine on ordinals.com, they should show up fine in the wallet UI since we're not doing anything extra to filter or block scripts?

It seems like we have two main issues: The "owned by" is wrong for some of them, and most cursed inscriptions do not show up. Both are because of Hiro's API, so both should in theory be fixed with a reindex. But that has been pending for weeks now since we reported it

@brandonmarshall-tm this merged PR should fix your svg issue. It will be in the next release:
https://github.com/leather-wallet/extension/pull/4933

The user of this address mentioned that he has many of his ordinals not getting displayed in Leather. Perhaps it can be used to mock this address in the wallet after we make some changes to make sure we have them all covered.
https://ordinals.hiro.so/address/bc1p98rqntc3xjyq2lurft709q8vw8wluq96tp98r96925hmaezeh09q8qdysj

The user of this address mentioned that he has many of his ordinals not getting displayed in Leather

Has the user indicated if there's a type of inscription that doesn't get displayed in particular? It could help diagnose the underlying issue.

@314159265359879 many of those aren't displaying in the Hiro explorer either, this example doesn't have a preview to display: https://ordinals.com/preview/efd0fb8ccaca2d1fc0691c8372952c644c81d7c58b1b5e627039f0f51cc7f268i0

@314159265359879 many of those aren't displaying in the Hiro explorer either, this example doesn't have a preview to display: https://ordinals.com/preview/efd0fb8ccaca2d1fc0691c8372952c644c81d7c58b1b5e627039f0f51cc7f268i0

I am afraid I didn't get more info from the user, which inscriptions were affected exactly. They made a general claim that everything was showing when they used an alternative wallet possibly exaggerating nothing was displayed in Leather.
There is one more issue that popped up at a user who has ordinals on regenerated addresses. I see 429 errors in the console logs they shared and they are on account 111 so they are likely to hit the limit too. I am not sure if checking for inscriptions on non-zero index addresses alone could have the user hit the limit: https://github.com/leather-wallet/extension/issues/4948

@brandonmarshall-tm this merged PR should fix your svg issue. It will be in the next release: #4933

Just confirming that every inscription that shows up my Collectibles is now displaying as it should! Now it's just a matter of fixing the collectibles that don't display at all, which is more on Hiro's end!

Hiro's reindex is now complete, and the number of inscriptions in my wallet is now reporting correctly!
There is now just one inscription in my wallet that isn't displaying correctly, and I believe it's because it is using the text type even though it contains an image and code. This one is probably more of an edge case, but thought i'd report it!
https://ordinals.hiro.so/inscription/eb2067abe9e6e4e0eb23bf61ef6d1c233da2768f909786cc90aae7239fc45db8i538
https://ordinals.com/inscription/eb2067abe9e6e4e0eb23bf61ef6d1c233da2768f909786cc90aae7239fc45db8i538
https://www.ord.io/60541983

Hiro's reindex is now complete, and the number of inscriptions in my wallet is now reporting correctly!
There is now just one inscription in my wallet that isn't displaying correctly, and I believe it's because it is using the text type even though it contains an image and code. This one is probably more of an edge case, but thought i'd report it!
https://ordinals.hiro.so/inscription/eb2067abe9e6e4e0eb23bf61ef6d1c233da2768f909786cc90aae7239fc45db8i538 https://ordinals.com/inscription/eb2067abe9e6e4e0eb23bf61ef6d1c233da2768f909786cc90aae7239fc45db8i538 https://www.ord.io/60541983

Yeah, not rendering in the Hiro explorer either ...not sure how to catch that if the type is wrong, which it appears it is? 🤔 We could fallback to rendering the preview from ordinals.com? What do you see now in the wallet, just the image unavailable placeholder?

No placeholder, it's just a black box

@fbwoolf a thought: What if all plaintext inscriptions were displayed as if they were HTML inscriptions? They would still display the same afaik, and in cases like this they would render "correctly" even when the mimetype is wrong.

@fbwoolf a thought: What if all plaintext inscriptions were displayed as if they were HTML inscriptions? They would still display the same afaik, and in cases like this they would render "correctly" even when the mimetype is wrong.

I think the only prob with that is we would be rendering a lot of iframes, and this preview of the text would be rendered and not styled by us... https://ordinals.com/preview/bc24f311bdb8e3f3b5aba06a12afa44ea0b8985992b88b01c2c94cb365f8461ei9
It might be better to use it as a fallback if the HIro query doesn't return the data we need?

Oh yeah, that's a good point. I guess the fix is going to be more complicated than that 😅

this preview of the text would be rendered and not styled by us...

Perhaps we could do a check beyond mimetype for text inscriptions in which we see if the text is validly formatted JSON, applying the same styling as JSON inscriptions (per mimetype)?

@fbwoolf Here's another example where, based on the file type, the preview should be rendered through ordinals.com instead!
https://ordinals.hiro.so/inscription/c71bba106124a23d768874eba97ba730bcccb4bf58b86563e6c7e2685574e495i448
https://ordinals.com/inscription/c71bba106124a23d768874eba97ba730bcccb4bf58b86563e6c7e2685574e495i448

This latest inscription appears have a "model/gltf+json" mimetype so I'm spinning up a new issue to support it here: https://github.com/leather-wallet/extension/issues/5091
I've also split out the formatting enhancement for text inscriptions here: https://github.com/leather-wallet/extension/issues/5092
@brandonmarshall-tm Are we aware of any inscriptions with the HTML mimetype that don't show up currently, or can we close this particular issue for now?
Related: I've moved this issue for linking to Ord.io instead of Hiro Explorer so these display more consistently when the user clicks through: https://github.com/leather-wallet/extension/issues/3980


Change copyright from 2015 to 2016

If everyone used COPYRIGHT_YEAR we should be done with that.

FYI: All errors seem to be relates to SSL, so they are caused by an unrelated change made to the codebase / dependencies.

@jonathancross thanks :thumbsup:
I actually wanted to fix the Travis builds last weekend (there are some more issues to fix, we're using Travis for just 2 weeks, so it's all new and the errors are not related to recent commits) but got sick and have to go through my backlog first...

need to change configure.ac too

I am still in the process of fixing the unit tests, so please ignore Travis output for the moment

@UdjinM6 : Done.

Should work nicely now but... how about squashing 3 commits into 1 to keep history a bit cleaner? :wink:

Squashed to 1 commit

:+1:

Cheers @crowning- Hope you get the Travis errors worked out.  :-)

@jonathancross Travis is doing fine now :-)
https://travis-ci.org/dashpay/dash/builds/105901646

@schinzelh Good to know, cheers!


Running Bare Metal application code on litex with cpu type rocket

Hi Everyone, I am trying to run litex with Rocket as CPU type, and I am trying to demo.bin file to see if the bare metal application code execution works, i know that it doesn't work or does not produce any output while i run using the command
litex_sim --threads-8 --with-sdram --cpu-type rocket --cpu-variant small /linux --sdram-init demo.bin
The above does not go beyond the liftoff
i also tried
litex_sim --integrated-rom-size 0x10000 --cpu-type rocket --cpu-variant small --rom-init demo.bin
this is also stuck
i want to run litex in simulation model
i have also removed the -flto flag yet it dosent work
kindly provide me some guidence to bare-metal-applications on litex simulation if possible also a way to get the instruction trace

duplicate of https://github.com/enjoy-digital/litex/issues/2010


Undefined value after clearing

When you click on the clear value cross you get an undefined value. (multi-select is off)
Using this hack helps but I'd like to get the null value instead.
<treeselect :value="value" @input="v => value = v || null" :options="options" />

Same problem

+1

+1

+1


Building docker image causes config error

Sorry I am new to kubernetes but I am trying to build the image and run it from my own repo. So I ran these commands
go get -u github.com/skippbox/kubewatch
make binary-image
docker tag kubewatch hantaowang/kubewatch
docker push hantaowang/kubewatch #repo already set up on dockerhub

I then modify tuna/kubewatch:v0.0.1 to hantaowang/kubewatch in kubewatch.yaml. Then I run
kubectl create -f kubewatch-configmap.yaml
kubectl create -f kubewatch.yaml

However the kubewatch container will not start. Running kubectl logs kubewatch kubewatch gives:
time="2017-12-30T08:41:32Z" level=fatal msg="Can not get kubernetes config: stat /root/.kube/config: no such file or directory"

Does anyone have any idea as to why? I am not sure what this error means. Thank you.

Closing myself cause I figured it out but it was very not obvious. Running it is way is in cluster, so line 54 of controller.go needs to be changed to kubeClient := utils.GetClient().


添加禁用路径点信标光柱功能

如题，添加禁用路径点信标光柱功能，我觉得这很碍事，但是我又希望使用xaero的服务器名称存储地图数据功能，因此请求添加此功能（选项菜单禁用路径点信标光柱功能）

Please submit issues in english using your preferred translator app or website.
This is what Google translate thinks you said:

As the title says, add the function of disabling the waypoint beacon light beam. I think this is very annoying, but I also want to use the xaero server name to store map data, so I request to add this function (the option menu disables the waypoint beacon light beam function)

You can already disable waypoint beacons at: Minimap Settings -> Waypoint Settings -> Waypoint Beacons -> OFF

好的，我之前没有找到这个设置，非常感谢指出


New store for FirefoxCSS themes

Hi, I don't know how to contact you so I'm using this.
We are creating a website where to collect firefox themes. we have included yours by linking to this github. But we don't have a good preview image of your theme. It would be nice if you could provide it.
I invite you to add/change/remove any information we have added to our website. I hope you like the initiative and that in the future you will send us more themes.
here are the links:
web: https://firefoxcss-store.github.io/
repo: https://github.com/FirefoxCSS-Store/FirefoxCSS-Store.github.io
Regards :)

Hey thanks for featuring me in your collection, it's pretty cool. I just made this image that looks like it'll fit your site:

I hope it's a good image. The info in the site looks good

Hey thanks for featuring me in your collection, it's pretty cool. I just made this image that looks like it'll fit your site:

I hope it's a good image. The info in the site looks good


Cross source summary entity match statistic does not tie out anymore.

The entity match statistic on the cross source summary is not showing the same from each data source's point of view.  The number of records that matched across is expected to be different, but the entity count should be the same.

Bug is in g2snapshot


Implement SetID endpoint

The new TRAPI MCQ spec requires set creators to give the set an ID.  It is generally desirable that the same set of things is identified in the same way.  We can define an endpoint on NN that will take a set of identifiers, normalize them, and return some sort of an order-independent hash of the normalized identifiers.

Here's my proposed API:

/get_set_id

curie[s]: a list of CURIEs to be normalized
conflation[s]: a list of conflations to be applied (i.e. GeneProtein, DrugChemical)

Return value:
{
  "curies": ["curie1", "curie2", "curie3", "curie4"],
  "conflations": ["GeneProtein", "DrugChemical"],
  "normalized_curies": ["curie1", "curie2_resolved", "curie3_and_4_resolved"],
  "sha256hash": "2c1b0a2a03901aeb2fb84ec870647eaeb53a415e45489b9ff43a7df2e563667c"
}

Note that normalized_curies will be sorted and de-duplicated, so that an input set of identifiers that resolve to the same set of identifiers will also produce the same sha256hash. The user can then produce their own hash with the normalized_curies field or just use our sha256hash (which we will produce by concatenating the normalized CURIEs together, i.e. curie1||curie2_resolved||curie3_and_4_resolved).

In the future, we might want to make this reversible. We could do that by storing the generated set ID, but it might be easier to generate a reversible ID. The dumb way to do that would be to concat the normalized CURIEs together, but that could get very long. A better idea might be to create that string, gzip it, then dump it into a base64 string. Some experimentation would be necessary, but CURIEs have so many repeated elements than I'm optimistic that we could compress them quite a bit. However, we don't currently have a reversible ID case and might never have one, so we shouldn't think of this unless it's pretty trivial to implement.
It might also be a good idea to stick a version number in the set ID.

Question: if we can't normalize an identifier, should we stick an (unknown) in there or should we just use the un-normalized CURIE?

I think the unnormalized query, otherwise all unknowns will look alike

This has now been implemented in PR #274. I'll add another ticket to create a POST endpoint (https://github.com/TranslatorSRI/NodeNormalization/issues/283) and close this one.

@cbizon This is now deployed up to TEST (https://nodenorm.test.transltr.io/docs#/default/get_setid_get_setid_get) and will go to PROD with the rest of Fugu shortly. Please let me know if you or the other MCQ folks run into any issue with this!
How urgently do we need a POST endpoint (that supports generating multiple set IDs at once)? I could rush this into Guppy, but if it's not urgent I can keep it on the backburner and do it on a later release.


Wrong namespace

Is there a way to correct his:

I changed the settings linke this, but without success:

It seems your "WiX Binaries Directory" field has a value of "...".
I expected it to be set to "C:\Program Files (x86)\WiX Toolset v4.0\bin"

Thank you :-)


Available attribute is not being updated in Echo Auto

Describe the bug
available status is not being updated on alexa devices. first checked with an echo auto, then tested with regular echo dot's unplugging them, and sawing same behavior
To Reproduce
Unplug an echo device, wait 2 minutes, check on dev tools in HA that device status, and it will still report available: true
Expected behavior
available status should get updated
Screenshots
https://puu.sh/IoXEh/828a1f5e29.png
System details

Home-assistant (version):  latest
Hassio (Yes/No):  yes
alexa_media  (version from const.py or HA startup): latest
alexapy (version from pip show alexapy or HA startup): latest
Amazon 2FA is enabled (y/n). We will not debug login issues if unanswered: y

Edit: After couple minutes, the echo dot's status got updated, and available was finally changed (removed), however, i can see still this bug with my Echo Auto, where it says available when is not.

Does the app show status updates to the Echo Auto?

Does the app show status updates to the Echo Auto?

Yes, on Alexa mobile app the echo auto appears offline / online

Please confirm that https://alexa.amazon.com/api/devices-v2/device (fix for your domain):

Lists the Echo Auto
Updates the online key
We are just checking that page.

Please confirm that https://alexa.amazon.com/api/devices-v2/device (fix for your domain):

Lists the Echo Auto
Updates the online key
We are just checking that page.

Ok, after testing:
1- Yes, it's listed on the json
2- Is not updating the online status for the echo auto, but it does for others
So looks like a bug on Amazon side, not updating device status for that device with the api.
I will close the issue, as seems is not related with this component.
As curious note, it actually updates device status on the Alexa mobile android app, but it doesn't on the api one

I wonder if the WebApp can see it changing. If it does, we could try to replicate it there. Otherwise someone would need to reverse the mobile apps.
The other thing to check would be to enable debugging on alexapy.websocket and see if any websocket messages come in now for the Echo Auto.

I wonder if the WebApp can see it changing. If it does, we could try to replicate it there. Otherwise someone would need to reverse the mobile apps.
The other thing to check would be to enable debugging on alexapy.websocket and see if any websocket messages come in now for the Echo Auto.

On the alexa.amazon.com webapp doesn't show neither the online nor offline status for echo auto, but it does for the rest of echo devices.
On the android alexa app, it does show the offline status of echo auto when is not connected with the mobile.
As for the reverse mobile app, is outside my skills.
If you have any config command or similar to enable debug on alexapy, i can try.
regards

https://github.com/custom-components/alexa_media_player/wiki/FAQ#how-do-i-enable-debug-logging-for-the-component


Update metadata.json

Pls let me push.

Pls accept this pull request for test.

Please accept this pull request.


Update to joi 9.x.x

In order to support HAPI 14+, it requires compatibility with joi 9+. I'm not sure what your target platform is, but with this rewrite it will require node4+ as well, which joi already do so that seemed fine.
However, it should probably be a major version upgrade.

Test fails because they are ran agaoisnt node 0.10.x (and probably 0.12.x as well). The tests in node 4 should be successful.

So, should I consider this abandonware?

No - sorry this dropped off the burner. Revisiting today.

Oops, looks like I already made these changes for 2.0!


Breaking Color Codes

Describe the bug
Theres no direct way to describe this but from time to time the color codes in peoples item names and lores just go weird and start to look like ?r?eDetonate IX
To Reproduce
Steps to reproduce the behavior:

There is no direct discovered way to replicate this however I will update this if I find away

Expected behavior
Changes everything with color codes to a weird ? format
Plugin version

[Latest Version ] Using the latest released version of the plugin

Server version
Paper 1.15.2
Additional context and logs
N/A

Duplicate of #176. Appears to be a Spigot bug.


Modifying server names during RibbonRoutingFilter in zuul

I am using zuul as a reverse proxy for my requests and using ribbon for identifying backend servers as follows:
zuul:
  routes:
    service-a:
      path: api/service-a/etc
      stripPrefix: false
      serviceId: service-a
sevice-a:
   ribbon:
    listOfServers: http://server_a.com

Now service-a's server/host is identified at routing layer (during the RibbonRoutingFilter), and I would like to modify http://server_a.com after being identified by ribbon, like adding a prefix (based on a service that runs for every request and tells this prefix for each request).
I can't find a way to catch the host name after being identified by the RibbonRoutingFilter to modify it.
Any help is greatly appreciated!
Thanks

You should be able to extend RibbonRoutingFilter and override the buildCommandContext method to create the uri that you need.  You should be able to make this an @Primary bean in a configuration class.  Doesnt look like there is a conditional on that bean in ZuulProxyAutoConfiguration.  https://github.com/spring-cloud/spring-cloud-netflix/blob/ef755f3ad3b938c2cddea0d18a3cd7e731c88a82/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/RibbonRoutingFilter.java#L124

Thanks @ryanjbaxter for replying!
But I don't want to modify the uri, I would like to modify the server name (which is http://server_a.com above) after being identified by ribbon to http://prefix_a_server_a.com for example, based on some service that runs for every request.
For example if I have a request as follows: GET - http://server_a.com/user/{userId} --> after service runs request should be GET - http://prefix_a_server_a.com/user/{userId}.

Not following, that seems like you are modifying the URL to me.

Okay we can say Yes we are modifying the URL, but only the part before the uri (because url = host + uri) --> I'm modifying only the host.
If not using ribbon, I will have something like this:
zuul:
  routes:
    service-a:
      path: api/service-a/etc
      url: http://server_a.com
      stripPrefix: false

This gives me the capability to override the routeHost in RequestContext to http://prefix_a_server_a.com, but because I want to customize timeouts per requests, I have to use ribbon instead.
Let me know if something is not clear yet so that I can explain further.
Thank you very much

Makes sense, but I don't understand why overriding RibbonRoutingFilter wouldnt work.

@ryanjbaxter
I've gone through RibbonRoutingFilter and checked the buildCommandContext method, but I couldn't find a way for the {server name/ host name} picked by ribbon, I found that we can modify the uri, but not the server name.

Isn't the URL being modified here?
https://github.com/spring-cloud/spring-cloud-netflix/blob/ef755f3ad3b938c2cddea0d18a3cd7e731c88a82/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/RibbonRoutingFilter.java#L144

If we have a request of the form GET - http://localhost:8080/user/1, this gives me control over the part /user/1, and I would like to have control over the part localhost:8080.

@ryanjbaxter Do you think there is any workarounds?
Thank you in advance!

OK now I understand, sorry it took so long.
So you really need to modify the host.  Since you are using Ribbon you could implement your own load balancer rule.  By default we use RoundRobinRule.  You could extend that and then modify the Server accordingly in the choose method.

Closing due to age of the question. If you would like us to look at this issue, please comment and we will look at re-opening the issue.


3D Toaster Animated

Title and Issue number

3D Toaster Animated
Issue no. #3736
Close #3736

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md

@MohitGupta121 @TusharKesarwani @pranjay-poddar please take a review of my project & merge it under GSSOC'23.


Colorize http requests and responses

Follow-up for https://github.com/gavv/httpexpect/issues/159
Currently defaultFailureTemplate colorizes requests/responses as follows:
{{ .Request | indent | trim | color $.EnableColors "HiMagenta" }}
{{ .Response | indent | trim | color $.EnableColors "HiMagenta" }}

The following improvement is suggested:

add new function "colorhttp" to defaultTemplateFuncs and use it for request and response
if colors are disabled, the function will return original value
the function will apply the following colorization:

in lines like GET /test HTTP/1.1 it will highlight GET (method) and HTTP/1.1 (protocol)
in lines like HTTP/1.1 200 OK 229.642µs it will highlight HTTP/1.1 (protocol) and 200 OK (status code)
in lines like Host: <IP_ADDRESS>:38681 it will highlight Host: (header field name)

the suggested color for highlighting is HiMagenta (in line with #334)

Example for testing:
$ FORCE_COLOR=1 go test -v -run TestE2EReport_Names
=== RUN   TestE2EReport_Names
    e2e_report_test.go:52:
        invalid "Content-Type" response header
          mime: no media type

        test name: TestExample

        request name: RequestExample

        request: GET /test HTTP/1.1
          Host: <IP_ADDRESS>:35779

        response: HTTP/1.1 200 OK 246.75µs
          Date: Wed, 22 Mar 2023 18:38:49 GMT
          Content-Length: 0

        assertion:
          Request("GET").Expect().JSON()

        actual value:
          ""
--- PASS: TestE2EReport_Names (0.00s)
PASS
ok  	github.com/gavv/httpexpect/v2	0.003s

Related: #334, #335.

Hey @gavv, can I take this one? 🙂

Hey @gavv can I pick this task if @gdguesser is not working on this?. I have made code changes for this. https://github.com/gavv/httpexpect/pull/414


Fix Composite's onDispose event handler

Events sent to a Composite are, in the end, a wrapped WidgetRequest (RaiseEvent). All the requests made by widgets are collected and later dispatched by the library's top-level handler to their corresponding targets. This helps maintain the original order of the requests; for example, this allows the mixing of user events and focus change requests in the expected order. The problem when disposing a Composite is that, after it is disposed, there is no available handler for its pending events and the top-level handler will not find a target.
This PR solves this issue by handling the pending events before the Composite is disposed, while keeping the other requests intact. It's important to notice that the events will be processed before the remaining requests (this should not be an issue in general).
Discussed here: https://github.com/fjvallarino/monomer/issues/175

Thank you very much for resolving this quickly. Works as expected.


Restarting the pty host does not kill the old pty host

Repro:

Open a window
Run the Restart Pty Host command
Check the process explorer, 🐛 there should only be one pty host

This exact issue is working but the terminals aren't getting hooked up again now in local windows. A new window or a reload will fix it though. Tracked in https://github.com/microsoft/vscode/issues/188951 for August


Constants-merging produces incorrect top-level module

I believe the constants-merging code from #224 might be breaking the generation of code that follows this pattern:

a.thrift defines a bunch of things, including structs and a service.
a.thrift also includes b.thrift.
b.thrift defines some constants.

This results in the top-level module produced by a.thrift (A) containing only the constants from b.thrift.
// a.thrift
include "b.thrift"

struct Foo {
    1: string name
}

// b.thrift
const i8 Z = 26

This results in an a.ex (defmodule(A)) containing the constant and a foo.ex  containing struct Foo. I would have expected the constant to be written to a b.ex (defmodule(B)) instead.

@jparise I'm not able to reproduce this yet.  I added the following test to binary_protocol_test.exs and it passes:
  @thrift_file name: "included_constants.thrift", contents: """
  const i8 Z = 26
  """

  @thrift_file name: "includes_constants.thrift", contents: """
  include "included_constants.thrift"

  struct IncludesConstants {
    1: string name
    2: i8 z = included_constants.Z
  }
  """

  thrift_test "including a file with constants" do
    assert 26 == IncludedConstants.z
    assert %IncludesConstants{z: 26} == %IncludesConstants{}
  end

OK, I'm getting somewhere.  I can get the includee to generate constant macros where it should not, but it's still not overwriting anything else.  Updated test case:
  @thrift_file name: "included_constants.thrift", contents: """
  const i8 Z = 26
  """

  @thrift_file name: "includes_constants.thrift", contents: """
  include "included_constants.thrift"

  struct IncludesConstants {
    1: string name
    2: i8 z = included_constants.Z
  }
  """

  @thrift_file name: "also_includes.thrift", contents: """
  include "included_constants.thrift"

  struct SomeOtherName {
    1: i32 id
  }
  """

  thrift_test "including a file with constants" do
    assert 26 == IncludedConstants.z
    assert %IncludesConstants{z: 26} == %IncludesConstants{}
    assert_raise UndefinedFunctionError, fn -> 26 == IncludesConstants.z end
    assert %SomeOtherName{} == SomeOtherName.new()
    assert_raise UndefinedFunctionError, fn -> 26 == AlsoIncludes.z end
  end

The last assert_raise fails because AlsoIncludes.z is being defined.

I can try to come up with a simple-ish fix here, but I think the underlying problem is more complex.  We end up writing out code for every time that a particular file is parsed.  It was never a problem before because the operation is basically idempotent - if we parsed a file that defined struct Foo we would write out a module for Foo and then if we included that file from another file we would end up overwriting it with the same Foo.  It wasn't a problem before because the resulting module would be the same.
I think.
I'm still trying to fully grok the parse/generate code, but I know that if I put some debug printing in the generate functions, they get triggered multiple times with the same constants but originating from multiple files.
This could also explain what you're seeing, @jparise, it could depend on how the list of files gets ordered.
It seems like the real solution would be to make a single pass over the files and generate a single unified schema, but that would be a pretty big change.  I think I can fix this particular problem by only generating constants when the initial_file in the FileGroup defines the constant.  We may want to do that for all of the models?

I'm in the same situation with regard to fully understanding the parser and generator, to be honest. But I also definitely encountered the same issue where included files are (re)written multiple times based on the set of input files. You can see that explicitly when you run mix thrift.generate --verbose, which logs all of the output files as they're written.
I would like us to address this at a fundamental level, which may mean a redesign of the FileGroup concept, because we otherwise can't guarantee anything about the relationship between input files and how their output will be written, which relates to what we're seeing here.

Also, my more immediate concern is about the constants being written to the including file's module. In my test case, we wouldn't have written anything to that module anyway, so the "overwrite" case might be a distraction and ultimately more of a systematic issue with the way we (re)write output files.

So what I'm hearing is "yes, there is an underlying issue here but let's at least try to fix the reported bug first"?  I'm good with that as long as we make a ticket to capture the underlying issue.

On Feb 10, 2017, at 3:37 PM, Jon Parise<EMAIL_ADDRESS>wrote:
Also, my more immediate concern is about the constants being written to the including file's module. In my test case, we wouldn't have written anything to that module anyway, so the "overwrite" case might be a distraction and ultimately more of a systematic issue with the way we (re)write output files.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

Closed by #230.  Follow-up is #236.


[CT-3372] [Bug] Syntax error in is_type macro within test suite (only when test fails)

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
So I'm trying to adopt missing functional adapter tests.  When I got to column_types, once I used model_sql that was compatible with my adapter (Databricks), I failed the test due to a syntax error in the macro:
      select 'int_col' as bad_column
      union all

      select 'numeric_col' as bad_column
      union all

      select 'string_col' as bad_column

      select * from (select 1 limit 0) as nothing
------^^^

Looking at the macro definition, I think this hasn't been an issue because there is no syntax error if there are no failures.  Here's the offending code:
...
    {% do log('bad columns: ' ~ bad_columns, info=True) %}
    {% for bad_column in bad_columns %}
      select '{{ bad_column }}' as bad_column
      {{ 'union all' if not loop.last }}
    {% endfor %}
      select * from (select 1 limit 0) as nothing

Expected Behavior
Failure of the test due to the dbt tests failing (as opposed to syntax failure).  In my project, I have replaced the code above with:
    {% if bad_columns %}
        {% do log('bad columns: ' ~ bad_columns, info=True) %}
        {% for bad_column in bad_columns %}
        select '{{ bad_column }}' as bad_column
        {{ 'union all' if not loop.last }}
        {% endfor %}
    {% else %}
      select * from (select 1 limit 0) as nothing
    {% endif %}

Steps To Reproduce
Tweak the definition of model_sql so that the test would fail.  See that the failure in the logs is due to syntax error.
Relevant log output
No response
Environment
- OS:
- Python:
- dbt:

Which database adapter are you using with dbt?
other (mention it in "Additional Context")
Additional Context
No response

Thanks for reaching out @benc-db !
So basically are you suggesting that we replace this:
https://github.com/dbt-labs/dbt-core/blob/e24f9b3da722328e24ee10a06fa2e8d2ca73b3e6/tests/adapter/dbt/tests/adapter/column_types/fixtures.py#L75-L80
with this instead?
    {% if bad_columns %}
        {% do log('bad columns: ' ~ bad_columns, info=True) %}
        {% for bad_column in bad_columns %}
        select '{{ bad_column }}' as bad_column
        {{ 'union all' if not loop.last }}
        {% endfor %}
    {% else %}
      select * from (select 1 limit 0) as nothing
    {% endif %}

If so, would you be interested in raising a PR, by any chance?

After I posted this, I looked at what dbt-spark has for a very similar case, and they have a different macro that might be better:  https://github.com/dbt-labs/dbt-spark/blob/main/tests/functional/adapter/seed_column_types/fixtures.py

So are you thinking replacing this in dbt-core with this from dbt-spark instead?

I haven't validated it personally, but yes, that is my proposal.  I'm not sure if there is anything spark specific in the macro, as I don't have an environment to validate against your typical use case (Postgres I think?)

@benc-db Makes sense to me 👍
We can validate during implementation whether or not there is anything spark-specific within this macro from dbt-spark.
Acceptance criteria

If the model_sql or column_map is tweaked here in order to make the pytest fail, then the pytest failure output should show a failing dbt test rather than a SQL syntax failure.


Can you expose the 'KeepAlive"

Widget keeps being destroyed on scroll, Can you expose the keep-alive property

what do you mean?
Do you mean with AutomaticKeepAliveClientMixin property?

yes yes, my child widgets keeps getting rebuilt...

@PavieOlivier  Is this issue still have ?

@PavieOlivier Is this issue still have ?

The issue still exists..


[HI -5] [DON'T MERGE] Refactoring inference section V2

In this PR, we aim to implement a refactoring of the inference section so that :

Each function is clean and documented
the code is relevantly structured and optimised
Naming, comments and structure are homogeneous among the code base

TODO :

Optimise symetrise_real_and_imaginary_parts function
Optimise get_cropping_coordinates function
Get rid of Denoiser object
Optimise denoise_image function

Optimise symetrise_real_and_imaginary_parts function
Optimise get_cropping_coordinates function

These 2 functions are complex and difficult to optimise, therefore it is postponed for a later PR

Optimise denoise_image function

This has been done

Get rid of Denoiser object

Finally, the Denoiser class is useful to share the torch device among the different functions


TestRTC fails on Android when in portrait mode (can't find 640x480 resolution)

We should probably tolerate either 640x480 or its rotated variant.

At the moment the log file is downloadable even for android... so lets proceed with this.
Sample of a log that fails:
 {"ts":1420631888494,"name":"test-run","id":3,"args":{"name":"Test video feed","status":"Running"}},
{"ts":1420631888499,"name":"getusermedia","id":4,"args":{"status":"pending","constraints":{"video":{"mandatory":{"minWidth":640,"minHeight":480},"optional":[{"sourceId":"6ce0000e0583476d2ea8b90c279c707e7b91fe00e1a1a14a205fe8e17b4d2f47"}]}}}},
{"ts":1420631888524,"name":"getusermedia","id":4,"args":{"status":"success","camera":"camera 1, facing front","microphone":null}},
{"ts":1420631888525,"name":"test-run","id":3,"args":{"success":"getUserMedia succeeded."}},
{"ts":1420631888525,"name":"test-run","id":3,"args":{"success":"Video track exists with label = camera 1, facing front"}},
{"ts":1420631888569,"name":"test-run","id":3,"args":{"info":"Checking if your camera is delivering frames for five seconds..."}},
{"ts":1420631893574,"name":"test-run","id":3,"args":{"info":"Details: {\"videoWidth\":480,\"videoHeight\":640,\"isMuted\":false,\"readyState\":\"live\",\"mandatoryMinWidth\":640,\"mandatoryMinHeight\":480,\"testedFrames\":29,\"blackFrames\":0,\"frozenFrames\":0}"}},
{"ts":1420631893574,"name":"test-run","id":3,"args":{"error":"Incorrect captured width."}},
{"ts":1420631893575,"name":"test-run","id":3,"args":{"error":"Incorrect captured height."}},
{"ts":1420631893579,"name":"test-run","id":3,"args":{"status":"Failure"}},

As expected it is returning the rotated variant... test needs to be fixed.


Add get graph which plots the DAG.

Checklist before submitting

[x] Did you read the contributor guide?
[ ] Did you update any affected documentation?
[ ] Did you write any tests to validate this change?

Description
It may be useful to have a plot command.

I think this looks pretty cool! You will need to add matplotlib to the dependencies list in setup.py and the conda recipe.

Codecov Report

Merging #44 (ac296c6) into main (af55c25) will decrease coverage by 0.19%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##             main      #44      +/-   ##
==========================================
- Coverage   95.63%   95.44%   -0.19%
==========================================
  Files          22       23       +1
  Lines        1899     1931      +32
==========================================
+ Hits         1816     1843      +27
- Misses         83       88       +5

Flag
Coverage Δ

unittests
95.44% <83.33%> (-0.19%)
:arrow_down:

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

Impacted Files
Coverage Δ

open_ce/graph.py
84.09% <28.57%> (-10.50%)
:arrow_down:

open_ce/get_graph.py
83.33% <83.33%> (ø)

open_ce/build_env.py
96.36% <100.00%> (+0.21%)
:arrow_up:

open_ce/build_feedstock.py
100.00% <100.00%> (ø)

open_ce/inputs.py
96.74% <100.00%> (+0.23%)
:arrow_up:

open_ce/open-ce
88.24% <100.00%> (+0.54%)
:arrow_up:

open_ce/validate_env.py
100.00% <100.00%> (ø)

open_ce/utils.py
94.35% <0.00%> (+0.81%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #44 (62da10b) into main (c7bc683) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #44      +/-   ##
==========================================
+ Coverage   96.41%   96.43%   +0.02%
==========================================
  Files          22       23       +1
  Lines        1895     1931      +36
==========================================
+ Hits         1827     1862      +35
- Misses         68       69       +1

Flag
Coverage Δ

unittests
96.43% <100.00%> (+0.02%)
:arrow_up:

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

Impacted Files
Coverage Δ

open_ce/build_env.py
96.36% <100.00%> (+0.21%)
:arrow_up:

open_ce/build_feedstock.py
100.00% <100.00%> (ø)

open_ce/get_graph.py
100.00% <100.00%> (ø)

open_ce/graph.py
95.45% <100.00%> (+0.86%)
:arrow_up:

open_ce/inputs.py
96.74% <100.00%> (+0.23%)
:arrow_up:

open_ce/open-ce
88.24% <100.00%> (+0.54%)
:arrow_up:

open_ce/utils.py
93.98% <100.00%> (-0.78%)
:arrow_down:

open_ce/validate_env.py
100.00% <100.00%> (ø)

open_ce/validate_config.py
96.88% <0.00%> (-3.12%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #44 (62da10b) into main (c7bc683) will increase coverage by 0.17%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #44      +/-   ##
==========================================
+ Coverage   96.41%   96.58%   +0.17%
==========================================
  Files          22       23       +1
  Lines        1895     1932      +37
==========================================
+ Hits         1827     1866      +39
+ Misses         68       66       -2

Flag
Coverage Δ

unittests
96.58% <100.00%> (+0.17%)
:arrow_up:

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

Impacted Files
Coverage Δ

open_ce/build_env.py
96.36% <100.00%> (+0.21%)
:arrow_up:

open_ce/build_feedstock.py
100.00% <100.00%> (ø)

open_ce/get_graph.py
100.00% <100.00%> (ø)

open_ce/graph.py
95.45% <100.00%> (+0.86%)
:arrow_up:

open_ce/inputs.py
96.74% <100.00%> (+0.23%)
:arrow_up:

open_ce/open-ce
88.24% <100.00%> (+0.54%)
:arrow_up:

open_ce/utils.py
94.78% <100.00%> (+0.02%)
:arrow_up:

open_ce/validate_env.py
100.00% <100.00%> (ø)

open_ce/build_tree.py
96.99% <0.00%> (+0.30%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #44 (62da10b) into main (c7bc683) will increase coverage by 0.17%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #44      +/-   ##
==========================================
+ Coverage   96.41%   96.58%   +0.17%
==========================================
  Files          22       23       +1
  Lines        1895     1932      +37
==========================================
+ Hits         1827     1866      +39
+ Misses         68       66       -2

Flag
Coverage Δ

unittests
96.58% <100.00%> (+0.17%)
:arrow_up:

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

Impacted Files
Coverage Δ

open_ce/build_env.py
96.36% <100.00%> (+0.21%)
:arrow_up:

open_ce/build_feedstock.py
100.00% <100.00%> (ø)

open_ce/get_graph.py
100.00% <100.00%> (ø)

open_ce/graph.py
95.45% <100.00%> (+0.86%)
:arrow_up:

open_ce/inputs.py
96.74% <100.00%> (+0.23%)
:arrow_up:

open_ce/open-ce
88.24% <100.00%> (+0.54%)
:arrow_up:

open_ce/utils.py
94.78% <100.00%> (+0.02%)
:arrow_up:

open_ce/validate_env.py
100.00% <100.00%> (ø)

open_ce/build_tree.py
96.99% <0.00%> (+0.30%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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


Undefined function ends_with

Hello!
Unfortunately, php7to5 spits out this error:

Call to undefined function Spatie\Php7to5\Console\ends_with() [...]

I looked into the code, there is no such function. I think that should be a quick fix..

This function is included in illuminate/support that gets pulled in when running composer. Did you run composer install? Which version of illuminate/support is installed?

Dear Freek,
I'm sorry for never having answered your comment.
I had completely forgotten to reply since I had found a way to get my stuff to work without your awesome 7to5 bundle.
Thanks a lot for helping though.
To answer your question:
I did not run composer install, but I did use composer require to install the bundle. Shouldn't this have lead to the same result?
Greetings,
Barthy

i have the same error, i ran composer global require spatie/7to5

Does your vendor contain an illuminate/support subdir?


Collection::exists

Collection::exists("key", new Value());

public function isset($key): bool{
     return isset($this[$key]);
}

@davidcole1340

for the lazy developers[me, lol] :)

Can use $collection->offsetExists('key') as it does the same thing as isset but I will add an alias.

thanks


feat(Algebra/Group/[Pi, InjSurj]): add missing boilerplate for InvOneClass and DivInvOneMonoid

Thanks!
bors merge


Potentially unintentional difference in module pipeline

While reviewing #2774, I noticed that ModuleControlFactory (replaced by ModuleControlPipeline in that PR) replaces . with - in the control path when setting the ID of the module control, but only for a settings control.
ModuleControlFactory.LoadSettingsControl
https://github.com/dnnsoftware/Dnn.Platform/blob/2a4c9f1cd06d8209668be4e3271bfaa7b01d462b/DNN Platform/Library/UI/Modules/ModuleControlFactory.cs#L151-L157
ModuleControlPipeline.LoadSettingsControl
https://github.com/dnnsoftware/Dnn.Platform/blob/1414a469f077274f713ae9162f336019084d5c72/DNN Platform/DotNetNuke.ModulePipeline/ModuleControlPipeline.cs#L142-L146
The main code to load a control doesn't do this replacement:
ModuleControlFactory.LoadModuleControl
https://github.com/dnnsoftware/Dnn.Platform/blob/2a4c9f1cd06d8209668be4e3271bfaa7b01d462b/DNN Platform/Library/UI/Modules/ModuleControlFactory.cs#L121
ModuleControlPipeline.LoadModuleControl
https://github.com/dnnsoftware/Dnn.Platform/blob/1414a469f077274f713ae9162f336019084d5c72/DNN Platform/DotNetNuke.ModulePipeline/ModuleControlPipeline.cs#L110
It seems that if there's a reason to do the replacement in one place, there's a reason to do it in another.  Can anyone confirm a reason for the replacement, and/or a reason it would only apply to settings controls?
Original discussion at https://github.com/dnnsoftware/Dnn.Platform/pull/2774/files#r283374051

@ahoefling comments on this ?


ENHANCED: Context manager for janus.query() + tests for doc examples

(I also changed py_str/2 unify the 2nd argument with a string rather than an atom. AFAICT, it's only used to generate an error message, plus used by one of the added tests)

Thanks!    Also for the various doc fixes and better Python code at various places :smile:

I thought that [*janus.apply("user", "between", 1, 6)] was quite inventive. :)


Citations by source: true sorting by page numbers

Would it be easy to fix the sorting by page numbers in the "Citations by source" module?
It goes like this:

Great suggestion.  @jlpereira let's make all the columns sortable?  Seems reasonable to sort by Pages by default, Names might be useful too?

Hello, Matt:
I found that this "Citations by source" module is extremely useful to check for incorrect entries in more than one way.
If you just open the article PDF e run along it, you may compare very quickly if there is any entry missing.
Also when we have more than one works by the same author in the same year, using CBS allows us to verify suffixes a, b, c quickly.
And it has another powerful feature which is to allow us to look not only at establishment of new taxa, but at other important nomenclatural acts (combinations, synonymies) and furthermore, new records.
Sorting by names would also be useful. Who knows how many creative/comfortable ways all your users find to be more productive and/or more accurate, and double-check their databases?

Great suggestion. @jlpereira let's make all the columns sortable? Seems reasonable to sort by Pages by default, Names might be useful too?

Yah, it should be easy

Name its already sortable.
@adrik29 clicking on pages header should sort the list correctly. You will see this change on the next update.

Thanks a lot, José Luis -- looking forward to using this module with the new improvements.

Is it resolved?

@proceps -- it seems to working fine from here, even if I'm using the awful windows 10....


What about add rest routers

I modify the router class
https://github.com/Lablnet/ZestRouter/
Changes

    /**
     * Add a route to the routing table.
     *
     * @param string       $route   The route URL
     * @param array|string $params  Parameters (controller, action, etc.) or $params Home@index
     * @param string       $methods request method like GET or GET|POST
     *
     * @return void
     */
    public function add($route, $params = '', $methods = 'GET|HEAD')
    {
        // Convert the route to a regular expression: escape forward slashes
        $route = preg_replace('/\//', '\\/', $route);
        // Convert variables e.g. {controller}
        $route = preg_replace('/\{([a-z]+)\}/', '(?P<\1>[a-z-]+)', $route);
        // Convert variables with custom regular expressions e.g. {id:\d+}
        $route = preg_replace('/\{([a-z]+):([^\}]+)\}/', '(?P<\1>\2)', $route);
        // Add start and end delimiters, and case insensitive flag
        $route = '/^'.$route.'$/i';
        if (is_array($params)) {
            $methodArray = ['method' => $methods];
            $params = array_merge($params, $methodArray);
            $this->routes[$route] = $params;
        } elseif (is_string($params)) {
            $param = [];
            $parts = explode('@', $params);
            $param['controller'] = $parts[0];
            $param['action'] = $parts[1];
            $param['method'] = $methods;
            if (isset($parts[2])) {
                $param['namespace'] = $parts[2];
            }
            $this->routes[$route] = $param;
        } elseif (is_callable($params)) {
            $this->routes[$route] = ['callable' => $params, 'method' => $methods];
        } else {
            throw new \Exception('Wrong agruments given', 500);
        }
    }
	/**
	 * Add multiple routes at once from array in the following format:
	 *
	 *   $routes = [route,param,method]
	 *
	 * @return void
	 */
	public function addRoutes($routes){
		if(!is_array($routes) && !$routes instanceof Traversable) {
			throw new \Exception('Routes should be an array or an instance of Traversable');
		}
		foreach($routes as $route) {
			call_user_func_array(array($this, 'add'), $route);
		}
	}

    /**
     * Add a route to the routing table as POST.
     *
     * @param string       $route  The route URL
     * @param array|string $params Parameters (controller, action, etc.) or $params Home@index
     *
     * @return void
     */
    public function post($route, $params)
    {
        $this->add($route, $params, 'POST');
    }
    /**
     * Add a route to the routing table as GET.
     *
     * @param string       $route  The route URL
     * @param array|string $params Parameters (controller, action, etc.) or $params Home@index
     *
     * @return void
     */
    public function get($route, $params)
    {
        $this->add($route, $params, 'GET|HEAD');
    }
    /**
     * Add a route to the routing table as PUT.
     *
     * @param string       $route  The route URL
     * @param array|string $params Parameters (controller, action, etc.) or $params Home@index
     *
     * @return void
     */
    public function put($route, $params)
    {
        $this->add($route, $params, 'PUT');
    }
    /**
     * Add a route to the routing table as PATCH.
     *
     * @param string       $route  The route URL
     * @param array|string $params Parameters (controller, action, etc.) or $params Home@index
     *
     * @return void
     */
    public function patch($route, $params)
    {
        $this->add($route, $params, 'PATCH');
    }
    /**
     * Add a route to the routing table as DELETE.
     *
     * @param string       $route  The route URL
     * @param array|string $params Parameters (controller, action, etc.) or $params Home@index
     *
     * @return void
     */
    public function delete($route, $params)
    {
        $this->add($route, $params, 'DELETE');
    }
    /**
     * Match the route to the routes in the routing table, setting the $params
     * property if a route is found.
     *
     * @param string $url The route URL
     *
     * @return bool true if a match found, false otherwise
     */
    public function match($url)
    {
        foreach ($this->routes as $route => $params) {
            if (preg_match($route, $url, $matches)) {
                //Check if given method is matched
                if ($this->methodMatch($params['method'])) {
                    // Get named capture group values
                    foreach ($matches as $key => $match) {
                        if (is_string($key)) {
                            $params[$key] = $match;
                        }
                    }
                    $this->params = $params;
                    return true;
                }
            }
        }
    }
   /**
     * Match the request methods.
     *
     * @param string $methods       router request method
     * @param string $requestMethod Requested method
     *
     * @return bool
     */
    public function methodMatch($methods, $requestMethod = null)
    {
        $match = false;
        if ($requestMethod === null) {
            $requestMethod = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET';
        }
        $methods = explode('|', $methods);
        foreach ($methods as $method) {
            if (strcasecmp($requestMethod, $method) === 0) {
                $match = true;
                break;
            } else {
                continue;
            }
        }
        if ($match === true) {
            return true;
        }
        return false;
    }

Hi,
good idea - I'm working on a major update to the framework at the moment, and I want to include routing based on the request method like this so RESTful routing is supported - I'll look into your changes in detail when I get chance!
Many thanks!
Cheers,
Dave

Hello, do we have any progress on this? It seems that POST, PUT and so on is not possible right now.

Hello, do we have any progress on this? It seems that POST, PUT and so on is not possible right now.

You can look to my comment the working code were given you can copy that, there we go


Specify the type of some containers

Right now, the actual C++ type of Hana's heterogeneous containers is never specified. For example, tuple(1, '2') is an object whose type is unspecified (and in fact useless because it involves the type of a lambda and other stuff). This is mainly to give room to the implementation. However, it would definitely add value if the type of containers was specified (or at least more specified), so we could pattern match on them and do other useful stuff:
template <typename ...T>
void f(hana::tuple_type<T...> t);

If this is feasible, i.e. if the library can still be implemented while specifying the type of containers, a possible way to achieve this would be:

hana::tuple<...> is a type (like std::tuple<...>), and hana::make<hana::Tuple> is equivalent to the current hana::tuple function
hana::map<...> is a type, and hana::make<hana::Map> creates one of these.
same for hana::pair<>, hana::set<> & al.

Things to consider if we go this way

The compile-time performance of containers could be influenced by longer names to mangle. We'd have to benchmark the difference.
Some objects just can't have their type fully specified. For example, hana::type<T> has to hide T from ADL, which requires it being a dependent type. In this precise case, what we could specify is that type<T> is of a type which derives from something that's specified. That would still allow us to pattern match in function templates and perhaps other contexts. In general, we would need to document exactly what is defined and what is left undefined about the type of each object.
We might end up with naming conflicts, e.g. having a function which should really have the same name as the type of some object. Before we do what's being proposed here, we should have a clear plan of how we're going to rename things so everything stays consistent.

IMO this is a very important feature for functional programming.
I was thinking for instance about how to port metalog from MPL to Hana and my first concern was precisely that it couldn't rely on function overloading analogously to how it currently relies on template overloading. Take for example the simple snippet bellow.
/** WARNING - untested code follows **/

template <typename HL, typename ...TL, typename HR, typename ...TR>
bool unify(hana::tuple_type<HL, TL...> lhs, hana::tuple_type<HR, TR...> rhs) {
    return unify(hana::head(lhs), hana::head(rhs)) ?
        unify(hana::tail(lhs), hana::tail(rhs)) : false;
}
template <typename HL, typename HR>
bool unify(hana::tuple_type<HL> lhs, hana::tuple_type<HR> rhs) {
    return unify(hana::head(lhs), hana::head(rhs));
}
template <typename T>
bool unify(T lhs, T rhs) {
    return lhs == rhs;
}
[...]

I don't really know how one could write it as expressively without being able to overload functions. This is, by the way, the reason why metalog currently doesn't support MPL's sequences as instances of unifiable expressions.


Include current word-warp state in TextEditorOptions

Current the editor's word-warp settings are persisted in memory. Can this setting be included in TextEditorOptions and when changed trigger onDidChangeTextEditorOptions event?
The motivation for this is to have an ability to react on the word-warp setting changes in scenarios when you are mirroring active editor.
My particular use case is in html-escape extension we create an editor to display escaped text from the active editor. The problem is when you change word-warp in active editor the what you see in our editor no longer corresponds to what you see in active editor (the user had to change word-warp in our editor too).

@OlegKarasik Have you tried window.onDidChangeTextEditorVisibleRanges and TextEditor.visibleRanges. From what you are describing, they seem to do what you want.

I am not understanding how this information would really help since it might at most cover the perfect case where the content is equal and the two editors are sized perfectly 50%-50%. It is always possible to resize split editors, for example the initial editor could have a width of 70% while the other one would have a width of 30%. So enabling word wrapping in both would not guarantee any kind of alignment.
This is especially true as the second editor is doing a kind of transformation for your extension. Even when opening the exact same file twice with word wrap or with folding regions, it is not possible to keep things perfectly in sync:
e.g. the same file as the same scroll top:
without word wrap lines could possibly be aligned

with word wrap it is not possible to perfectly align things

It is also possible to fold certain regions in the source file... So I think misalignments are nothing you can avoid.
In other words, I don't think this is a good enough reason for us to add API. I hope you don't mind, but we need to keep our API surface lean and slim in order to be able to maintain it...

Hi @alexandrudima,
I understand your point and I agree with it (I had an experience maintaining a framework, so I understand that sometimes you should say no to your consumers).
Still, I think I wasn't able to explain the core idea, so give me a last try to do this.
My point wasn't about trying to make mirror editor to exactly mirror content of source editor (as you've mentioned this isn't possible because of two reasons: they could have different widths and mirror editor mutates the content - in my case does HTML escapement). The core idea was in maintaining user experience.
Imagine a case: user works in source editor with word wrap turned on. The purpose of turning word wrap is to avoid horizontal scrolling. So when user creates a mirroring editor the basic expectation is that mirroring editor will have the word wrap turned on too (because if user don't want to have horizontal scrolling in source editor why would user want to have horizontal scrolling in mirroring editor?). The same applies to a situation when word wrap is dynamically changed is source editor.


Bookmarks will not load

First: let me thank you once again for this FANTASTIC extension. I hate the fact that we spend a lot more time talking about a few bugs, and not enough praising its many many qualities.... So, thank you very very much!
And now I will write 2 pages about a bug. Sorry... :D :D :D
Description
The "bookmarked giveaways" page will not display its giveaways due to a "bad bookmark".
Steps to Reproduce
In my machine, when I click on the "Bookmarked GAs" button, the "Loading More..." button displays indefinitely.
Expected Behavior
GA list should load.
Console Errors
I get a 404 on esgst.js:1
"GET https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/ 404"
What seemed to happen is that somehow one bookmark was created with the SGTools code instead of the 5-letter GA code (how on Earth did I do that? :D :D :D). When this bookmark fails to load, the others will not load either.
Screenshots

System (please complete the following information):

ESGST Version: 8.7.2; Chrome Extension.
Browser + Version: Chrome 83.0.4103.97 (Official Build) (64-bit)

Additional Context
As I said, I believe the problem is that somehow when I bookmarked a GA the plugin saved the long code from SGTools instead of the 5-letter code from the actual GA (at this point, I do not know how this could have happened). Some extra info:
-- When I select "backup data", selecting only "giveaway bookmarks", one of the lines looks like this:
"805e77e4-a805-11ea-ba55-fa163e96784d":{"code":"805e77e4-a805-11ea-ba55-fa163e96784d","endTime":1593104400000,"started":true,"bookmarked":true}
That long code must be the problem, no?
-- I tried to delete this record manually from the "backed-up data" and then "Restore Data", but somehow this record does not go away (maybe I am doing the "Restore Data" wrongly?)
-- When I do "View Raw List" from the Bookmark page, I can see all my bookmarked GAs; the "badly formed" one is the very first one, with a link to "https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/" (which of course does not work).
-- All of this said, the "View Raw List" DOES show all GAs, so I do have access to them all (although in a slightly cumbersome way); and if I go to the main page listing all GAs and then filter by "Bookmarked", they also show up correctly (at least the public ones that are there). So the problem is indeed with the "Bookmarked GAs" page which stumbles with that badly formed record.
-- I did bookmark the GA behind that SGTools check, but I have no idea how the extension saved the wrong GA code... If you wish, and have ideas, I can try to help you debug that (but I am no expert on coding).
-- I am on Windows 10, by the way.... question: where is the Extension data stored? I would totally manually remove that entry to see if things get sorted, but I do not know where to go (or if such data is easily editable anyhow).
Anyway, thank you again for this SUPERB extension! :D
Cheers!

Thank you for using it! Reporting bugs only helps improve it, so don't worry. xD
Maybe you bookmarked it in a giveaway extractor popup? I'll have to check, but that looks like something that could happen, since the giveaway extractor popup lists the SGTools giveaways. If you didn't use the extractor, then I'll have to do some digging.
As to restoring the data without the bad bookmark, do you have "Merge" enabled in the restore popup? That's the only thing I can think of. If you disable "Merge", it will replace whatever data you restore instead of merging it. Careful with this though, as you could lose some data. My advice is to stop all you're doing, backup your data, fix the .json file, and restore it. That way, when it replaces your current data, you won't lose anything. Let me know if something goes wrong.
I'll try to fix this soon.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 19:11, Thexder0<EMAIL_ADDRESS>wrote:

First: let me thank you once again for this FANTASTIC extension. I hate the fact that we spend a lot more time talking about a few bugs, and not enough praising its many many qualities.... So, thank you very very much!
And now I will write 2 pages about a bug. Sorry... :D :D :D
Description
The "bookmarked giveaways" page will not display its giveaways due to a "bad bookmark".
Steps to Reproduce
In my machine, when I click on the "Bookmarked GAs" button, the "Loading More..." button displays indefinitely.
Expected Behavior
GA list should load.
Console Errors
I get a 404 on esgst.js:1
"GET https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/ 404"
What seemed to happen is that somehow one bookmark was created with the SGTools code instead of the 5-letter GA code (how on Earth did I do that? :D :D :D). When this bookmark fails to load, the others will not load either.
Screenshots Untitled
System (please complete the following information):

ESGST Version: 8.7.2; Chrome Extension.
Browser + Version: Chrome 83.0.4103.97 (Official Build) (64-bit)

Additional Context
As I said, I believe the problem is that somehow when I bookmarked a GA the plugin saved the long code from SGTools instead of the 5-letter code from the actual GA (at this point, I do not know how this could have happened). Some extra info:
-- When I select "backup data", selecting only "giveaway bookmarks", one of the lines looks like this:
"805e77e4-a805-11ea-ba55-fa163e96784d":{"code":"805e77e4-a805-11ea-ba55-fa163e96784d","endTime":1593104400000,"started":true,"bookmarked":true}
That long code must be the problem, no?
-- I tried to delete this record manually from the "backed-up data" and then "Restore Data", but somehow this record does not go away (maybe I am doing the "Restore Data" wrongly?)
-- When I do "View Raw List" from the Bookmark page, I can see all my bookmarked GAs; the "badly formed" one is the very first one, with a link to "https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/" (which of course does not work).
-- All of this said, the "View Raw List" DOES show all GAs, so I do have access to them all (although in a slightly cumbersome way); and if I go to the main page listing all GAs and then filter by "Bookmarked", they also show up correctly (at least the public ones that are there). So the problem is indeed with the "Bookmarked GAs" page which stumbles with that badly formed record.
-- I did bookmark the GA behind that SGTools check, but I have no idea how the extension saved the wrong GA code... If you wish, and have ideas, I can try to help you debug that (but I am no expert on coding).
Anyway, thank you again for this SUPERB extension! :D
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Wow, you are fast. :D
Indeed, I often use the extractor, and I have been bookmarking directly from Grid View, so it might have been that!
About restoring: I just tried again, made 100% sure "Merge" was not checked... Backed up the data, eliminated what I think was the offending lines (saw 2 of them), and tried to restore the data, namely:
-- In the ESGST panel, clicked on the "Restore Data" button;
-- Made sure "Merge" was "unticked"; selected only "Giveaways/Giveaway Bookmarks";
-- Clicked on "Choose File", picked the corrected file;
-- Got the "Are you sure you want to restore the selected data" dialogue (a good sign), clicked the green YES.
No dice, the bad bookmarsks are still there somehow. :(
I made a video trying to show both the "bug" and the "failed restore", maybe I am doing something else wrong. The resolution isn't too good, but maybe you can see what is going on -- I will send this to you over E-mail, since there might be some personal data there.
Thank you again, and cheers!

Here is the video I promised on Github, with the failed "restore" and the
bug itself (that you probably diagnosed already). Let me know when I can
delete the video, there are tons of 5-letter codes there that aren't
exactly public (and, who knows, some personal data of mine?), so I will
take it down as soon as you tell me I can... :D
I tried to make it snappy (time is precious, you can always pause it), let
me know if more data would be useful.
https://www.youtube.com/watch?v=C1uE1ZF-QMA
Cheers!
On Mon, Jun 15, 2020 at 8:05 PM Rafael Gomes<EMAIL_ADDRESS>wrote:

Thank you for using it! Reporting bugs only helps improve it, so don't
worry. xD
Maybe you bookmarked it in a giveaway extractor popup? I'll have to check,
but that looks like something that could happen, since the giveaway
extractor popup lists the SGTools giveaways. If you didn't use the
extractor, then I'll have to do some digging.
As to restoring the data without the bad bookmark, do you have "Merge"
enabled in the restore popup? That's the only thing I can think of. If you
disable "Merge", it will replace whatever data you restore instead of
merging it. Careful with this though, as you could lose some data. My
advice is to stop all you're doing, backup your data, fix the .json file,
and restore it. That way, when it replaces your current data, you won't
lose anything. Let me know if something goes wrong.
I'll try to fix this soon.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 19:11, Thexder0<EMAIL_ADDRESS>wrote:

First: let me thank you once again for this FANTASTIC extension. I hate
the fact that we spend a lot more time talking about a few bugs, and not
enough praising its many many qualities.... So, thank you very very much!
And now I will write 2 pages about a bug. Sorry... :D :D :D
Description
The "bookmarked giveaways" page will not display its giveaways due to a
"bad bookmark".
Steps to Reproduce
In my machine, when I click on the "Bookmarked GAs" button, the "Loading
More..." button displays indefinitely.
Expected Behavior
GA list should load.
Console Errors
I get a 404 on esgst.js:1
"GET
https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/
404"
What seemed to happen is that somehow one bookmark was created with the
SGTools code instead of the 5-letter GA code (how on Earth did I do that?
:D :D :D). When this bookmark fails to load, the others will not load
either.
Screenshots Untitled
System (please complete the following information):

ESGST Version: 8.7.2; Chrome Extension.
Browser + Version: Chrome 83.0.4103.97 (Official Build) (64-bit)

Additional Context
As I said, I believe the problem is that somehow when I bookmarked a GA
the plugin saved the long code from SGTools instead of the 5-letter code
from the actual GA (at this point, I do not know how this could have
happened). Some extra info:
-- When I select "backup data", selecting only "giveaway bookmarks", one
of the lines looks like this:

"805e77e4-a805-11ea-ba55-fa163e96784d":{"code":"805e77e4-a805-11ea-ba55-fa163e96784d","endTime":1593104400000,"started":true,"bookmarked":true}

That long code must be the problem, no?
-- I tried to delete this record manually from the "backed-up data" and
then "Restore Data", but somehow this record does not go away (maybe I am
doing the "Restore Data" wrongly?)
-- When I do "View Raw List" from the Bookmark page, I can see all my
bookmarked GAs; the "badly formed" one is the very first one, with a link
to "
https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/"
(which of course does not work).
-- All of this said, the "View Raw List" DOES show all GAs, so I do have
access to them all (although in a slightly cumbersome way); and if I go to
the main page listing all GAs and then filter by "Bookmarked", they also
show up correctly (at least the public ones that are there). So the problem
is indeed with the "Bookmarked GAs" page which stumbles with that badly
formed record.
-- I did bookmark the GA behind that SGTools check, but I have no idea
how the extension saved the wrong GA code... If you wish, and have ideas, I
can try to help you debug that (but I am no expert on coding).
Anyway, thank you again for this SUPERB extension! :D
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rafaelgssa/esgst/issues/1603#issuecomment-644434630,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6C5TQSCFMJXE45HNUYAZTRW2SKRANCNFSM4N64WOXA
.

Thanks, you can delete it. :)
You're doing everything right, it might be a bug with the restore function, I'll look into it.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 21:49, Thexder0<EMAIL_ADDRESS>wrote:

Here is the video I promised on Github, with the failed "restore" and the
bug itself (that you probably diagnosed already). Let me know when I can
delete the video, there are tons of 5-letter codes there that aren't
exactly public (and, who knows, some personal data of mine?), so I will
take it down as soon as you tell me I can... :D
I tried to make it snappy (time is precious, you can always pause it), let
me know if more data would be useful.
https://www.youtube.com/watch?v=C1uE1ZF-QMA
Cheers!
On Mon, Jun 15, 2020 at 8:05 PM Rafael Gomes<EMAIL_ADDRESS>wrote:

Thank you for using it! Reporting bugs only helps improve it, so don't
worry. xD
Maybe you bookmarked it in a giveaway extractor popup? I'll have to check,
but that looks like something that could happen, since the giveaway
extractor popup lists the SGTools giveaways. If you didn't use the
extractor, then I'll have to do some digging.
As to restoring the data without the bad bookmark, do you have "Merge"
enabled in the restore popup? That's the only thing I can think of. If you
disable "Merge", it will replace whatever data you restore instead of
merging it. Careful with this though, as you could lose some data. My
advice is to stop all you're doing, backup your data, fix the .json file,
and restore it. That way, when it replaces your current data, you won't
lose anything. Let me know if something goes wrong.
I'll try to fix this soon.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 19:11, Thexder0<EMAIL_ADDRESS>wrote:

First: let me thank you once again for this FANTASTIC extension. I hate
the fact that we spend a lot more time talking about a few bugs, and not
enough praising its many many qualities.... So, thank you very very much!
And now I will write 2 pages about a bug. Sorry... :D :D :D
Description
The "bookmarked giveaways" page will not display its giveaways due to a
"bad bookmark".
Steps to Reproduce
In my machine, when I click on the "Bookmarked GAs" button, the "Loading
More..." button displays indefinitely.
Expected Behavior
GA list should load.
Console Errors
I get a 404 on esgst.js:1
"GET
https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/
404"
What seemed to happen is that somehow one bookmark was created with the
SGTools code instead of the 5-letter GA code (how on Earth did I do that?
:D :D :D). When this bookmark fails to load, the others will not load
either.
Screenshots Untitled
System (please complete the following information):

ESGST Version: 8.7.2; Chrome Extension.
Browser + Version: Chrome 83.0.4103.97 (Official Build) (64-bit)

Additional Context
As I said, I believe the problem is that somehow when I bookmarked a GA
the plugin saved the long code from SGTools instead of the 5-letter code
from the actual GA (at this point, I do not know how this could have
happened). Some extra info:
-- When I select "backup data", selecting only "giveaway bookmarks", one
of the lines looks like this:

"805e77e4-a805-11ea-ba55-fa163e96784d":{"code":"805e77e4-a805-11ea-ba55-fa163e96784d","endTime":1593104400000,"started":true,"bookmarked":true}

That long code must be the problem, no?
-- I tried to delete this record manually from the "backed-up data" and
then "Restore Data", but somehow this record does not go away (maybe I am
doing the "Restore Data" wrongly?)
-- When I do "View Raw List" from the Bookmark page, I can see all my
bookmarked GAs; the "badly formed" one is the very first one, with a link
to "
https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/"
(which of course does not work).
-- All of this said, the "View Raw List" DOES show all GAs, so I do have
access to them all (although in a slightly cumbersome way); and if I go to
the main page listing all GAs and then filter by "Bookmarked", they also
show up correctly (at least the public ones that are there). So the problem
is indeed with the "Bookmarked GAs" page which stumbles with that badly
formed record.
-- I did bookmark the GA behind that SGTools check, but I have no idea
how the extension saved the wrong GA code... If you wish, and have ideas, I
can try to help you debug that (but I am no expert on coding).
Anyway, thank you again for this SUPERB extension! :D
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rafaelgssa/esgst/issues/1603#issuecomment-644434630,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6C5TQSCFMJXE45HNUYAZTRW2SKRANCNFSM4N64WOXA
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

By the way, you probably didn't intend for this to happen, but when you reply to a notification from GitHub, your email is actually sent as a reply to the issue itself. So the post with the link to the video is actually on GitHub. But if you delete the video itself (or the comment on GitHub), there's no problem, and I don't think there's anything really identifying you in there.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 21:54, Rafael G S<EMAIL_ADDRESS>wrote:

Thanks, you can delete it. :)
You're doing everything right, it might be a bug with the restore function, I'll look into it.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 21:49, Thexder0<EMAIL_ADDRESS>wrote:

Here is the video I promised on Github, with the failed "restore" and the
bug itself (that you probably diagnosed already). Let me know when I can
delete the video, there are tons of 5-letter codes there that aren't
exactly public (and, who knows, some personal data of mine?), so I will
take it down as soon as you tell me I can... :D
I tried to make it snappy (time is precious, you can always pause it), let
me know if more data would be useful.
https://www.youtube.com/watch?v=C1uE1ZF-QMA
Cheers!
On Mon, Jun 15, 2020 at 8:05 PM Rafael Gomes<EMAIL_ADDRESS>wrote:

Thank you for using it! Reporting bugs only helps improve it, so don't
worry. xD
Maybe you bookmarked it in a giveaway extractor popup? I'll have to check,
but that looks like something that could happen, since the giveaway
extractor popup lists the SGTools giveaways. If you didn't use the
extractor, then I'll have to do some digging.
As to restoring the data without the bad bookmark, do you have "Merge"
enabled in the restore popup? That's the only thing I can think of. If you
disable "Merge", it will replace whatever data you restore instead of
merging it. Careful with this though, as you could lose some data. My
advice is to stop all you're doing, backup your data, fix the .json file,
and restore it. That way, when it replaces your current data, you won't
lose anything. Let me know if something goes wrong.
I'll try to fix this soon.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 19:11, Thexder0<EMAIL_ADDRESS>wrote:

First: let me thank you once again for this FANTASTIC extension. I hate
the fact that we spend a lot more time talking about a few bugs, and not
enough praising its many many qualities.... So, thank you very very much!
And now I will write 2 pages about a bug. Sorry... :D :D :D
Description
The "bookmarked giveaways" page will not display its giveaways due to a
"bad bookmark".
Steps to Reproduce
In my machine, when I click on the "Bookmarked GAs" button, the "Loading
More..." button displays indefinitely.
Expected Behavior
GA list should load.
Console Errors
I get a 404 on esgst.js:1
"GET
https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/
404"
What seemed to happen is that somehow one bookmark was created with the
SGTools code instead of the 5-letter GA code (how on Earth did I do that?
:D :D :D). When this bookmark fails to load, the others will not load
either.
Screenshots Untitled
System (please complete the following information):

ESGST Version: 8.7.2; Chrome Extension.
Browser + Version: Chrome 83.0.4103.97 (Official Build) (64-bit)

Additional Context
As I said, I believe the problem is that somehow when I bookmarked a GA
the plugin saved the long code from SGTools instead of the 5-letter code
from the actual GA (at this point, I do not know how this could have
happened). Some extra info:
-- When I select "backup data", selecting only "giveaway bookmarks", one
of the lines looks like this:

"805e77e4-a805-11ea-ba55-fa163e96784d":{"code":"805e77e4-a805-11ea-ba55-fa163e96784d","endTime":1593104400000,"started":true,"bookmarked":true}

That long code must be the problem, no?
-- I tried to delete this record manually from the "backed-up data" and
then "Restore Data", but somehow this record does not go away (maybe I am
doing the "Restore Data" wrongly?)
-- When I do "View Raw List" from the Bookmark page, I can see all my
bookmarked GAs; the "badly formed" one is the very first one, with a link
to "
https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/"
(which of course does not work).
-- All of this said, the "View Raw List" DOES show all GAs, so I do have
access to them all (although in a slightly cumbersome way); and if I go to
the main page listing all GAs and then filter by "Bookmarked", they also
show up correctly (at least the public ones that are there). So the problem
is indeed with the "Bookmarked GAs" page which stumbles with that badly
formed record.
-- I did bookmark the GA behind that SGTools check, but I have no idea
how the extension saved the wrong GA code... If you wish, and have ideas, I
can try to help you debug that (but I am no expert on coding).
Anyway, thank you again for this SUPERB extension! :D
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rafaelgssa/esgst/issues/1603#issuecomment-644434630,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6C5TQSCFMJXE45HNUYAZTRW2SKRANCNFSM4N64WOXA
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Oh, oops... But, yeah, the video is gone, we should be ok. :D
Cheers!
On Mon, Jun 15, 2020 at 9:58 PM Rafael Gomes<EMAIL_ADDRESS>wrote:

By the way, you probably didn't intend for this to happen, but when you
reply to a notification from GitHub, your email is actually sent as a reply
to the issue itself. So the post with the link to the video is actually on
GitHub. But if you delete the video itself (or the comment on GitHub),
there's no problem, and I don't think there's anything really identifying
you in there.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 21:54, Rafael G S<EMAIL_ADDRESS>wrote:

Thanks, you can delete it. :)
You're doing everything right, it might be a bug with the restore
function, I'll look into it.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 21:49, Thexder0<EMAIL_ADDRESS>wrote:

Here is the video I promised on Github, with the failed "restore" and
the
bug itself (that you probably diagnosed already). Let me know when I can
delete the video, there are tons of 5-letter codes there that aren't
exactly public (and, who knows, some personal data of mine?), so I will
take it down as soon as you tell me I can... :D
I tried to make it snappy (time is precious, you can always pause it),
let
me know if more data would be useful.
https://www.youtube.com/watch?v=C1uE1ZF-QMA
Cheers!
On Mon, Jun 15, 2020 at 8:05 PM Rafael Gomes<EMAIL_ADDRESS>wrote:

Thank you for using it! Reporting bugs only helps improve it, so don't
worry. xD
Maybe you bookmarked it in a giveaway extractor popup? I'll have to
check,
but that looks like something that could happen, since the giveaway
extractor popup lists the SGTools giveaways. If you didn't use the
extractor, then I'll have to do some digging.
As to restoring the data without the bad bookmark, do you have "Merge"
enabled in the restore popup? That's the only thing I can think of. If
you
disable "Merge", it will replace whatever data you restore instead of
merging it. Careful with this though, as you could lose some data. My
advice is to stop all you're doing, backup your data, fix the .json
file,
and restore it. That way, when it replaces your current data, you won't
lose anything. Let me know if something goes wrong.
I'll try to fix this soon.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 15 June 2020 19:11, Thexder0<EMAIL_ADDRESS>wrote:

First: let me thank you once again for this FANTASTIC extension. I
hate
the fact that we spend a lot more time talking about a few bugs, and
not
enough praising its many many qualities.... So, thank you very very
much!
And now I will write 2 pages about a bug. Sorry... :D :D :D
Description
The "bookmarked giveaways" page will not display its giveaways due
to a
"bad bookmark".
Steps to Reproduce
In my machine, when I click on the "Bookmarked GAs" button, the
"Loading
More..." button displays indefinitely.
Expected Behavior
GA list should load.
Console Errors
I get a 404 on esgst.js:1
"GET

https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/

404"

What seemed to happen is that somehow one bookmark was created with
the
SGTools code instead of the 5-letter GA code (how on Earth did I do
that?
:D :D :D). When this bookmark fails to load, the others will not load
either.
Screenshots [Untitled](

https://user-images.githubusercontent.com/24915662/84709340-5ce8a000-af38-11ea-82ce-809ecacf56ce.png

)

System (please complete the following information):

ESGST Version: 8.7.2; Chrome Extension.
Browser + Version: Chrome 83.0.4103.97 (Official Build) (64-bit)

Additional Context
As I said, I believe the problem is that somehow when I bookmarked a
GA
the plugin saved the long code from SGTools instead of the 5-letter
code
from the actual GA (at this point, I do not know how this could have
happened). Some extra info:
-- When I select "backup data", selecting only "giveaway bookmarks",
one
of the lines looks like this:

"805e77e4-a805-11ea-ba55-fa163e96784d":{"code":"805e77e4-a805-11ea-ba55-fa163e96784d","endTime":1593104400000,"started":true,"bookmarked":true}

That long code must be the problem, no?
-- I tried to delete this record manually from the "backed-up data"
and
then "Restore Data", but somehow this record does not go away (maybe I
am
doing the "Restore Data" wrongly?)
-- When I do "View Raw List" from the Bookmark page, I can see all my
bookmarked GAs; the "badly formed" one is the very first one, with a
link
to "

https://www.steamgifts.com/giveaway/9a13a4b6-aa89-11ea-ba55-fa163e96784d/"

(which of course does not work).

-- All of this said, the "View Raw List" DOES show all GAs, so I do
have
access to them all (although in a slightly cumbersome way); and if I
go to
the main page listing all GAs and then filter by "Bookmarked", they
also
show up correctly (at least the public ones that are there). So the
problem
is indeed with the "Bookmarked GAs" page which stumbles with that badly
formed record.
-- I did bookmark the GA behind that SGTools check, but I have no
idea
how the extension saved the wrong GA code... If you wish, and have
ideas, I
can try to help you debug that (but I am no expert on coding).
Anyway, thank you again for this SUPERB extension! :D
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or [unsubscribe](

https://github.com/notifications/unsubscribe-auth/AGCT34J276HIVGEVG25L3OLRW2MCPANCNFSM4N64WOXA
).

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/rafaelgssa/esgst/issues/1603#issuecomment-644434630>,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AF6C5TQSCFMJXE45HNUYAZTRW2SKRANCNFSM4N64WOXA

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub,
or unsubscribe.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rafaelgssa/esgst/issues/1603#issuecomment-644467347,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6C5TQ7SB6OUQEYY2YWI7LRW27R7ANCNFSM4N64WOXA
.

NOTICE: This repository has been moved to GitLab. You'll find your issue at https://gitlab.com/rafaelgssa/esgst/-/issues/1603


Customize error blades

See https://github.com/luksan47/mars/issues/257

Add error messages to the policies. If it's an authentication error, show that message.
In general, suggest reaching out the admins.


error in deformable_im2col: invalid argument

got error in deformable_im2col: invalid argument
when the input resolution of the image is 256x256.
similar to chengdazhi/Deformable-Convolution-V2-PyTorch#13
but it doesn't solve it
hope this can be sloved. thanks
python 3.5/pytorch 0.4.1/cuda9.0

@notagenius have you solved this problem?

Hi,
I am facing the same issue. Has someone solved this?
Using GTX TITAN X 12GB

same problem, have you solved the problem


Pass SNICallback through to TLS options

Hi Pantelis,
Could we add SNICallback to the list of allowed security options, or maybe just pass everything through and use the types from @types/node on that parameter?
Thanks!

Hello Richard! SNICallback was added in Network, Server and Client options. Now that I'm thinking of it, I believe that this is a server feature and, therefore, this was not  necessary to be included in the Client, right? If that's the case, I'm going to remove it in the next release.
Please test and let me know if the type I added are OK.

Looks great, but yes it is only an option for servers I believe.

Thank you Richard! In the latest update, SNICallback was removed from the Client options.


Automatically generate all fields from type from query or mutation

Example:
mutation AddPerson($input: [AddPersonInput!]!, $upsert: Boolean) {
    addPerson(input: $input, upsert: $upsert) {
		person {
	       // Can I tell the generator to add all fields of Person here?
		}
		numUids
	}
}

cc @benjaminjkraft

We don't support this now, but I actually already did have an issue for it! If you could add a bit more about your use case to #27 -- I'm not sure if it's a good idea yet.