Tmux completion example question

Category

[ ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[x] Completion
[] Vim
[] Neovim
[ ] Etc.

OS

[x] Linux
[x] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

I consider your tmux example very useful. But imagine a situation when there are ssh sessions in all the panes in the tmux window. I want to switch to another session, but I have to get to the local shell (find it in another window or create a new pane), and then call fs. Is it possible to bypass this limitation somehow? Ideally with a tmux binding, that will start session name completion or something like that, what do you think?

Hi, actually most of the snippets in the wiki page are not mine. I haven't really used fs so far. I'll try it when I get some time.


feat(docs/schema): improve eks, kfdisitribution schema docs

Port to the EKSCluster and KFDDistribution schemas documentation the improvements done for the on-prem schema in #268. Some minor improvements to on-premises too.
For review purposes you can focus on the files in the folders:

banners/
schemas/public/

The rest of the files are generated using make generate-go-models and make generate-docs.
Closes https://github.com/sighupio/product-management/issues/543 https://github.com/sighupio/furyctl/issues/287

[!NOTE]
In order to generate the markdown files you need a patched version of md-gen otherwise the markdown generation fails with a type assertion error.:

https://github.com/sighupio/md-gen/pull/2

@g-iannelli please take a look at the docs for EKS. Thanks!

@ralgozino  IMHO you should rebase the branch after the merge of #303

@ralgozino IMHO you should rebase the branch after the merge of #303

rebased as requested


[5.2] Fix engine issueing

Fix that a view (welcomeblade.php) would run the BladeEngine instead of the PhpEngine.

This bug fix should be applied to Laravel 5.1 LTS as well.

Ping @taylorotwell.


Prometheus Metrics middleware example in documentation incomplete.

The documentation for the Prometheus metrics middleware found at https://http4s.org/v0.21/middleware/ is incomplete insofar as it does not mention the final step needed to expose the metrics for scraping by a Prometheus server. The PrometheusExportService does exist, but that fact is non-obvious and requires source code spelunking to discover. It would be great if the example in the documentation included usage of PrometheusExportService, perhaps along these lines?
(from @hamnis in the Gitter):
def server[F[_]: Sync](api: HttpRoutes[F]): Resource[F, Server[F]] =
    for {
      registry <- Prometheus.collectorRegistry[F]
      metrics <- Prometheus.metricsOps[F](registry, "server")
      prometheus <- PrometheusExportService.build[F]
      routes = Router(
        "/api" -> Metrics[F](metrics)(api),
        "/" -> prometheus.routes
      )
      server <- BlazeServerBuilder[F]
        .bindHttp("9000", "<IP_ADDRESS>")
        .withHttpApp(routes.orNotFound)
        .resource
    } yield server

Working on a PR to address this now.

Closed by #3279.


Running list of messages that don't seem to be handled correctly

If you find any messages that were responded to by the bot but you don't believe is handled correctly, please leave a comment below, which includes:

the exact message sent
your username (this will help me find the message easily)
any other details about what you expected to happen

-------- Running List --------
[ ] #lookingfor through the ages

message: #lookingfor through the ages
username: Akash
issue: resolved to bgo-extended-20-expansion-fan-expansion-for-throug but would expect it to resolve to Through the Ages

message: #lookingfor quacks of quedlinburg
username: Subhradeep
issue: resolved to Extra Loco (fan expansion for The Quacks of Quedlinburg) but would expect it to resolve to The Quacks of Quedlingburg


use noble-curves

i'm opening this as a PR, so we can discuss here about the failing tests.

#47

maybe it's because we use the noble-curves libs hashToCurve algo, and not our own. Somewhere, I saw the reference implementation for the function, but I can't find it in the docs anymore. @callebtc ?

hmm node 14.x don´t have  crypto.getRandomValues

should we drop node 14.x support?

time to get rid of node 14.x then 😁

you can let me know when it's ready for review

You can review it.
I just want to run some more Tests.

can merge after rebase

rebased! @gandlafbtc


Add option to clone repository in VSCodium

Close  #21121

"The only translation that is maintained in this Git repository is en_US.ini and is synced regularly to Crowdin."
Does this need another PR? I'm not sure what to do at this point, please assist.

"The only translation that is maintained in this Git repository is en_US.ini and is synced regularly to Crowdin."
Does this need another PR? I'm not sure what to do at this point, please assist.

Hmm, just edit en_US.ini is enough.  other translations will be updated by crowdin.

I don't think this is a meaningful addition. If we add support for more gui tools, a single tool should be selected by each user in their profile settings, and the drop down should just show 'clone with $tool'
/rant
(Also why on earth did the codium people use another protocol specifier, if it's basically the same software as vscode, supporting the same protocol? Are we supposed to add buttons for clone in vim, clone in gvim, clone in neovim too?)

Related: https://github.com/go-gitea/gitea/issues/21121#issuecomment-1241922657
Perhaps we should have a discussion about how best to do this generically.

Ideally the editors agree on a common URL scheme, or VSCodium is made to support vscode:// URLs imho, the second one should be easy for them I suppose.

Ideally the editors agree on a common URL scheme, or VSCodium is made to support vscode:// URLs imho, the second option should be easy for them I suppose. Do we know their stance?

vscodium: Support vscode:// links (or provide an alternate) #933

Does not look like VSCodium wants to support vscode:// to allow both editors running side-by-side. In this case, I think there is no way around either this PR or some configurability.

Maybe a button Open in my default editor? Maybe chrome could know the default protocol?

Also agree to use a generic way, instead of patching for every editor.
For VS Codium:

vscodium: Support vscode:// links (or provide an alternate)

i think the more apt and more general one was this issue: https://github.com/eclipse/openvsx/issues/363

I think showing option for both is best way as at least I use both but on different computers (at work I use vscode because of required dotnet support, on my personal computer I use codium) 🙄 So having to set as user preference would mean either I would have to go to settings to switch all the time that would not be practical or like now deal with the fact that it works only on one computer

I do not think "adding many options for one purpose" is the right direction.
The purpose for this feature is: open the repo clone link in IDE, while there are a lot of IDEs. Maybe one day, a user may say:  "I use Fleet and I want to add a menu item for Fleet", then another user may say "Add a menu item for Zed" and "Add a menu item for Eclipse", then Gitea will have a lot of menu items for various IDEs.

Ok but these are just theoretical and I don't see having two options now being a problem, just like Gitlab also have two currently

please revert changes to options/locale/locale_fa-IR.ini and also can svg icon be made square?

how about using a text input field? the user flow/pseudocode being:
User flow/pseudocode

go to any gitea repo (trial repos here)
click the download icon
hover over the vs code for say over 2 seconds
the string "vscode" becomes grayish
click on the string "vscode" when it's gray
this will change it to an input field (with some nice consistent theming)
user enters the code used by the application in that field: for example vscodium and presses enter
the code used by various popular applications can be documented at some place for example - the gitea help page
the string is passed through some basic checking
the user entered string replaces the default "VS Code" string in the button and this input is saved in the browser via cookies?
now, on clicking this button in this session, the uri which's triggered is of the format: <inputString>://vscode.git/clone?url=<url>

Benefits:

totally flexible
no hard coding or catering to any individual application required - constraint being the required intent by application should fit in some predefined format (like <string>://vscode.git/clone?url=<url> in above example)
minimal
the ui is not cluttered with multiple buttons performing same underlying task
seemless after entering the code once
the user has to enter this only once, it can be saved for later - thereafter for the user - it functions just like a normal one click button

There would be no benefits to that as what are the chances that there will be third editor with same url structure that vscode and vscodium have?
We are discussing right now theoretical future scenarios that might not happen. Let's just add currently both links and think about future scenarios when they actually come

I was thinking that all the vscode based editors will have the same uri
structure
and there are many already - not just a hypothetical unlikely future
possibility.
refer my quoting comment above to
see the list

Pasting it here too for quick reference:

Should we allow any fork of VS Code , i.e. Gitpod, openvscode-server,
code-sever, any Theia based product?

Lauris BH wrote:

what are the chances that there will be third editor with same url
structure that vscode and vscodium have?
Message ID: @.***>

'm busy currently. 'will research (which mostly consists of waiting for the
downloads of different clients to complete) next week and reply accordingly.
Lauris BH wrote:

If it's not hypothetical can you give example of any other code editor url
scheme that already exists?

At least I did not find one

'm busy currently. 'will research (which mostly consists of waiting for the downloads of different clients to complete) next week and reply accordingly.

i tried but couldn't find. sorry for the delay.

Take a look at JS code for js-clone-url-vsc. If you have tested and it works, dismiss my review.

For VSCodium changed to js-clone-url-vsx
Link with correct handler is created.. vscodium://...

Codecov Report

Merging #21123 (0ff9c48) into main (906d8cc) will decrease coverage by 0.35%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main   #21123      +/-   ##
==========================================
- Coverage   48.15%   47.80%   -0.36%
==========================================
  Files        1046     1046
  Lines      142411   142411
==========================================
- Hits        68584    68078     -506
- Misses      65649    66176     +527
+ Partials     8178     8157      -21

Impacted Files
Coverage Δ

models/db/consistency.go
0.00% <0.00%> (-100.00%)
:arrow_down:

services/migrations/github.go
0.58% <0.00%> (-63.64%)
:arrow_down:

models/db/engine.go
31.16% <0.00%> (-13.64%)
:arrow_down:

services/pull/update.go
46.15% <0.00%> (-4.28%)
:arrow_down:

modules/notification/mail/mail.go
29.41% <0.00%> (-2.95%)
:arrow_down:

models/db/context.go
60.86% <0.00%> (-2.61%)
:arrow_down:

services/pull/temp_repo.go
43.22% <0.00%> (-2.59%)
:arrow_down:

modules/log/event.go
58.18% <0.00%> (-2.10%)
:arrow_down:

services/pull/comment.go
54.62% <0.00%> (-1.86%)
:arrow_down:

services/convert/repository.go
92.81% <0.00%> (-1.80%)
:arrow_down:

... and 8 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Take a look at JS code for js-clone-url-vsc. If you have tested and it works, dismiss my review.

For VSCodium changed to js-clone-url-vsx
Link with correct handler is created.. vscodium://...

Doesn't this also require JavaScript code changes now?

Take a look at JS code for js-clone-url-vsc. If you have tested and it works, dismiss my review.

For VSCodium changed to js-clone-url-vsx
Link with correct handler is created.. vscodium://...

Doesn't this also require JavaScript code changes now?

I just tested with a local build and the links are both (VSC + VSCodium) correct, and I could open a repository on buttom click.

I think something is wrong. Take a look at JS code for js-clone-url-vsc. If you have tested and it works, dismiss my review.
Update: changed.

there is clone_script.tmpl, but as I already mentioned all works fine without editing this and I also tested the case of an empty clone_script and it doesn't break the functionality or the generated links.
and the file has this comments:

// synchronously set clone button states and urls here to avoid flickering
// on page load. initRepoCloneLink calls this when proto changes.
// this applies the protocol-dependant clone url to all elements with the
// js-clone-url and js-clone-url-vsc classes.
// TODO: This localStorage setting should be moved to backend user config
// so it's available during rendering, then this inline script can be removed.

to me it seems that it can be removed, but I guess this is another issue and should be discussed seperately?!

No, it can not be removed at the moment. https://github.com/go-gitea/gitea/issues/22364#issuecomment-1374802413

I would like to refuse this PR and introduce a personal configuration to set your favourite local IDE/Editor. Then the menu will become your favourite IDE/Editor. Everyone could clone and open the repository with his IDE/Editor.
For IDE/Editor configuration, we could hold some default values like Vscodium: vscodium://vscode.git/clone?url=${repo_url}, and VSCode: vscode://vscode.git/clone?url=${repo_url} and users even could create their own editor.

Closing in favor of #22378

Oh wow this is kinda rude, isn't it? 🚩
I put so much effort in getting this done, this could have been my very first contribution. This is very demotivating and shure a configurable solution is the logical next step..
But as you are long time contributer and also a owner 🫣 you shure have your reasons or might even don't care at all... https://gitea-open-letter.coding.social/ 🚩

Oh wow this is kinda rude, isn't it? 🚩
I put so much effort in getting this done, this could have been my very first contribution. This is very demotivating and shure a configurable solution is the logical next step..
But as you are long time contributer and also a owner 🫣 you shure have your reasons or might even don't care at all... https://gitea-open-letter.coding.social/ 🚩

Thanks for your contributions, and we appreciated for your efforts. Could you test #22378 ? I believe it could respect more users' freedom on choosing favorite editors. That's why this PR could be replaced.

These things were actually brought up on the same day as the PR was opened.
https://github.com/go-gitea/gitea/pull/21123#issuecomment-1242089216
I understand it's frustrating to have your work superseded, and I apologize for not intervening sooner/more persistently.
However, as discussed early on in the PR, a configurable option is the way to avoid a never-ending list like webhooks.
We really do appreciate the work put in to this, though.

These things were actually brought up on the same day as the PR was opened.

yeah, 6 people (including me) noerw, jolheiser, 6543, wxiaoguang, lunny mentioned requirement of generic way, ...
before lafriks single handedly pushed for this one.
Were the decision made right then, the author's additonal efforts would have been saved. As only one additional commit was made till then.

Personally I would not minded also for this to be non-generic way as in this PR as I don't see much problem on having menu having even 7 menu items always as it's still just dropdown. But I don't mind also generic way as long as I have option to get my workflow done :)

Also why on earth did the codium people use another protocol specifier, if it's basically the same software as vscode, supporting the same protocol? Are we supposed to add buttons for clone in vim, clone in gvim, clone in neovim too?
- https://github.com/go-gitea/gitea/pull/21123#issuecomment-1242089216

I would like to clarify on this, as this may pop up in minds of other people too. Sorry for the "necro bump" i guess?

It's actually necessary that they use a different protocol than the one used by a competing product of some giant heavy handed conglomerate ...
... which is known to push its own product in the "default apps" settings list and keeps making it difficult for people to choose the alternatives
resetting PDF application to their BROWSER on windows update. Ref: https://github.com/sumatrapdfreader/sumatrapdf/discussions/2707#discussioncomment-3097311
So, yeah, having a difficult one is a good thing when the alternate is a big company, which's not the case in mentioned situation with neo/vi/m


get campaign info from reqmgr aux db

fixes #8132
Still need clean up and fix unitest (Just for the initial test)

@vkuznet, @vlimant, I am trying to move campaign  config to couch db so it can be added and updated easily. I have question about the config format.
https://github.com/ticoann/WMCore/blob/770efec8ded37fcf29381999486430a21873a8ae/src/python/WMCore/ReqMgr/DataStructs/DefaultConfig/CAMPAIGN_CONFIG.py
Is there a reason to separate relval and production/processing campaign separately? It seems code combines that anyway before processing.
Also some of the parameters in different level. i.e. SiteWhiteList can go in the top level,  can we have more consistent structure? Also it seems it supports wild cards for site list in the code but config doesn't have that cases, should we support wild card?

This config in many ways is not ideal. Here I want to outline potentials
problems:

we should never use dynamic keys, e.g. keys 'HIRun2015', 'TTI2023Upg14D'
have no meaning and such keys are "dynamic" since once we create
new value we create new key, while the key 'Campaign' is explicit and
"static" (its value is dynamic). Therefore I suggest to replace

    "Summer16Geant4102": {
        "go": true,
        "parameters": {
            "EventsPerLumi": "x10"
        }
    }

to
    "Campaign": {
        "name": "Summer16Geant4102",
        ....
    }

don't use dictionary when it is no necessary, e.g.
"secondaries": {"/PYTHIA6_MinBias_TuneZ2star_14TeV/TTI2023Upg14GS-FLATBS15_DES23_62_V1-v1/GEN-SIM": {}...
may have better represented with a list like
"secondaries": ["X", "Y", ...] where X, Y are dataset names.
use better naming conventions and structures, e.g. instead of
"overflow": {"PU": {"max": 10000, "pending": 0}
I'll suggest
"overflow": {"name": "PU", "max": 10000, "pending": 0}
I have no idea if this "go": true is required in all structures, it seems to
me that all of them use identical true value, therefore it can be lifted to
upper level.
if SiteBlacklist is static across all datasets/workflows it is better to be
defined at higher level of the structure
overall I see that there is a repetition in sub-structures, i.e.

"Run2016C": {
        "go": true,
        "labels": ["03Feb2017", "15Feb2017", "22Feb2017", "18Apr2017"],
        "fractionpass": 1.0,
        "lumisize": -1,
        "maxcopies": 1,
        "overflow": {"PRIM": {}}
    },
    "Run2016D": {
        "go": true,
        "labels": ["03Feb2017", "15Feb2017", "22Feb2017", "18Apr2017"],
        "fractionpass": 1.0,
        "lumisize": -1,
        "maxcopies": 1,
        "overflow": {"PRIM": {}}
    },

So, instead you better use list for that instead of dict key-values
sub-strcutures, e.g.
[
  {"campaign": "Run2016C", "parameters: {"go":true, ...}},
  {"campaign": "Run2016D", "parameters: {"go":true, ...}},
]

The advantage that it requires less space, have static structure (which implies
easy to parse and port), etc.

I'm not sure why CAMPAIGN_CONFIG should contain relval config part
it would be nice to settle on common schema for campaign and relval parts
it seems to me that relval SiteWhiteList are common across all entries,
therefore it can be taken away from all sub-structures to higher level.

On  0, ticoann<EMAIL_ADDRESS>wrote:

@vkuznet, @vlimant, I am trying to move campaign  config to couch db so it can be added and updated easily. I have question about the config format.
https://github.com/ticoann/WMCore/blob/770efec8ded37fcf29381999486430a21873a8ae/src/python/WMCore/ReqMgr/DataStructs/DefaultConfig/CAMPAIGN_CONFIG.py
Is there a reason to separate relval and production/processing campaign separately? It seems code combines that anyway before processing.
Also some of the parameters in different level. i.e. SiteWhiteList can go in the top level,  can we have more consistent structure? Also it seems it supports wild cards for site list in the code but config doesn't have that cases, should we support wild card?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/8379#issuecomment-349378316

Hi Valentin, I agree with you. I am just wondering why current structure is set up as it is. Since we can control whole thing we should restructure the configuration and code accordingly.

The short answer is that everybody busy and want to get things done, and
people forget to think about sustainability of their code, its portability
and effectiveness.
On  0, ticoann<EMAIL_ADDRESS>wrote:

Hi Valentin, I agree with you. I am just wondering why current structure is set up as it is. Since we can control whole thing we should restructure the configuration and code accordingly.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/8379#issuecomment-349528063

I am not blaming any one. :smile:  I just want to know whether I can change the data structure and don't want to miss some important point of current structure.
So if you agree I will change the structure as follows. (I don't think 'parameter' level is necessary)
[
{"campaign": "Run2016C", "go":true, ...},
{"campaign": "Run2016D", "go":true, ...},
]

Yes, I agree to use such list structure.
On  0, ticoann<EMAIL_ADDRESS>wrote:

I am not blaming any one. :smile:  I just want to know whether I can change the data structure and don't want to miss some important point of current structure.
So if you agree I will change the structure as follows. (I don't think 'parameter' level is necessary)
[
{"campaign": "Run2016C", "go":true, ...},
{"campaign": "Run2016D", "go":true, ...},
]
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/8379#issuecomment-349637446

Looking at the operation against this, actually there is advantage on dict data structure.
I assume there will be more update/delete operation on individual campaign than whole document replacement.
In that case, list structure is not very convenient. How about we keep the dict structure something like this
{"Run2016C": {"campaign": "Run2016C", "go":true, ...},
"Run2016D": {"campaign": "Run2016D", "go":true, ...},
}
But provide REST api which can return the list format as well. (This could be default format for REST api)
[
{"campaign": "Run2016C", "go":true, ...},
{"campaign": "Run2016D", "go":true, ...},
]
There is down size doing streaming on this structure but I don't think we will do over just one document anyway.

And, what are advantages?
On  0, ticoann<EMAIL_ADDRESS>wrote:

Looking at the operation against this, actually there is advantage on dict data structure.
I assume there will be more update/delete operation on individual campaign than whole document replacement.
In that case, list structure is not very convenient. How about we keep the dict structure something like this
{"Run2016C": {"campaign": "Run2016C", "go":true, ...},
"Run2016D": {"campaign": "Run2016D", "go":true, ...},
}
But provide REST api which can return the list format as well. (This could be default format for REST api)
[
{"campaign": "Run2016C", "go":true, ...},
{"campaign": "Run2016D", "go":true, ...},
]
There is down size doing streaming on this structure but I don't think we will do over just one document anyway.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/8379#issuecomment-349680700

And, what are advantages?

Update and delete.  Instead of searching the list every time we do.

My vote goes to
[
{"campaign": "Run2016C", "go":true, ...},
{"campaign": "Run2016D", "go":true, ...},
]

even if that will cause a whole list scan. It's only one structure anyways and quite small O(10), I think.

Seangchan, if list is small, e.g. < 1000, the effect of data look-up is
negligible. But update/deletion of a dictionary is in fact a larger
factor since dictionary size should shrink of grow and therefore
memory allocation will involve. Since the structure we have
is very nested the insert and update will be costly operation.
So, I would not worry about such issue unless you profile and prove
that this is the real issue.
On  0, ticoann<EMAIL_ADDRESS>wrote:

And, what are advantages?

Update and delete.  Instead of searching the list every time we do.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/8379#issuecomment-349692970

The only difference for the list format and dict format is we have additional key (campaign) in terms of nested structure. I don't think is extra code when we use this format for update.
So for the outside operation which query this doc won't see the difference.
We can always return list format through API unless it specifies.
[
{"campaign": "Run2016C", "go":true, ...},
{"campaign": "Run2016D", "go":true, ...},
]
The reason I prefers dict format for the couch doc, since all our couch doc in Aux. is dict, hence we have general update function which handles document updates. This will have additional update function for the list format of document.
I don't see particular advantage to storing document as list in that aspect. (return format will be list)
Since the vote is 2:1, I can still change what you guys prefer. :smile:

test this please

@vkuznet, Valentin, I reorganize the directory structure as others. Could you check on this?
I am not sure where is the right place for Mananager.py, WMCore.MicroService. or WMCore.MicroService.Service? Anyway, if you can just comment on the directory structure, that will be great. For the code wise, I still have to update config data structure.
corresponding deployment script changes are here.
https://github.com/dmwm/deployment/pull/572

file rename
test/python/WMCore_t/Services_t/MicroService_t/Unified_t/init.py → init.py
test/python/WMCore_t/Services_t/MicroService_t/init.py → src/init.py

I think this was created when I set up the patch in IDE. I removed it.

why CampaignConfig is moved into WMCore/ReqMgr/Service/Auxiliary module?

This is hold all the default config in Aux DB. The structure of config data still needs to be changed as we discussed.

@vkuznet, Valentin, If the unittest comes back successful, I will merge this for further test unless you found some obvious problems. Aux db will contain each campaign config instead of multiple campaigns in one document as we discussed. Still need to add the validation for those docs though.

test this please


Why?

Why delete?

already answered in previous issue
see https://github.com/kagurazakasanae/Il2CppDumper-YuanShen/issues/8


No way of changing

Maybe it could be a good idea to, with the craft of a very expensive new item, be able to change your origin or class. Something that it's for the end game, my friend didn't knew it's basically worthless to be an aracnid and a rogue at the same time because they are incompatible.

u can do /origin set origins:origin origns: and im pretty sure it can work for all of the addons too

There is an Orb of Origin item which allows changing the origin, though it's unobtainable in survival. You can add a recipe or add it to a loot table via a datapack.

u can do /origin set origins:origin origns: and im pretty sure it can work for all of the addons too

actually, the thing is getting it via survival, for example my friends couldn't do it if they ain't admin at the server.

There is an Orb of Origin item which allows changing the origin, though it's unobtainable in survival. You can add a recipe or add it to a loot table via a datapack.

The problem is I don't know any way of modify or create a data pack so it's possible :')

u can do /origin set origins:origin origns: and im pretty sure it can work for all of the addons too

I was not able to find this in the documentation: I was trying to do /origin set origins:avian for the longest time D:


Extension is not compatible with new (Oct 2017) Google Calendar

Google released a new look Calendar this week. The code is no longer compatible for at least these reasons:

the buttons are replaced with a dropdown
the html appears to have changed therefore the selectors no longer work

Need to check the underlying method, explained in the README will still work.

please let us know when compatible with new calendar look so we can upgrade !

Agreed, would really like to get this functionality back in the new calendar.
I put off using the new interface as long as I could just to keep using this extension.
The new calendar does have 'custom views', but the longest period is 4 weeks and this requires descending into a menu to change it... ew.

Would love to have this :)

Please, do update your plugin to the new calendar. It's tremendously useful, and there is nothing like it out there. I'd be willing to help out.

Would love this too... now that google have forced the new calendar on everyone...

I appreciate the interest in this project. Here's an update.
Problem
I'm still searching for a way to show arbitrary numbers of weeks on the new Google Calendar interface.
The approach I implemented for the old interface was a two part manoeuvre: click next month repeatedly during a click drag over the mini calendar. The click drag would lift up on a new month than it started on. (It's Javascript not a real mouse button, so we do these things at the same time). As far as I can see this approach doesn't work with the new interface.
I discovered this by dragging my mouse over the mini calendar, using the setTimeout code below to click on the next month button, then lifting my mouse button on the new month. This should allow showing like 8 weeks, but the interface would only select a maximum of 4 weeks.
// Run this in the Chrome Dev Tools console
// Then in five seconds the next month button will be clicked.
var next_month_button_path = '#drawerMiniMonthNavigator > div > div > div > content > span > span';
var next_month_button = document.querySelectorAll(next_month_button_path)[1];
var mouse_click = new MouseEvent('click', {bubbles: true});
setTimeout(() => next_month_button.dispatchEvent(mouse_click), 5000);

Ideas
The Google Calendar Javascript knows how to show more than 4 weeks, as it shows 5 in the month view. Perhaps there's a function somewhere we could call to show other ranges?
Help appreciated! cc @fservant :-)

Yeah, even if you select 5 weeks in the minical you will still only get a max of 4. :( But it is possible to show more as you said. I was able to show 8, 12 weeks... probably any number I want. But it involves adding a breakpoint in the javascript and modifying a string. It's actually simple.... once you find the point for the breakpoint. And it's really stable, clicking on "previous period"/"next period" maintains the selection of weeks. But I couldn't find how to get to that function by user interaction/request, for the life of me.
Here's what I did: find in the javascript sources the string "v3.prototype.Lza", add a breakpoint at the line "a=HT(IT(this.V.H(),a.duration.Oa),a.start.Ta()).H();". Execute only that line, "a" will have a value similar to:
"./r/custom/2/w/2018/2/24"
This being: "./r/custom//w/"
So in this case, I had selected from 2018-02-24 to 2018-03-09. Still paused on that line, go to the console and change the value of "a" to have any number of weeks you want. For example:
a = "./r/custom/6/w/2018/2/24";
Hit enter, tell the browser debugger to proceed with execution. Voila, you see 6 weeks starting on 2018-02-24.
The javascript for this new calendar is crazy, I'm sure they compile the source through some obfuscator. :(

@msbarrios Is this a one time "forever" solution or to be repeated at each calendar loading ?

To be repeated at each loading. :(
I wasn't proposing as a solution for "regular users", I was hoping it would help @tomviner or some other extension developer to find a way to create a new extension for the new google calendar. It's too much work to do every time you want to use the calendar.

Dear Tom, I miss this functionality so much, that I would be willing to PAY you to re-release this app for the latest version of Calendar.  Please consider this, it would be incredible.

@msbarrios -- I can't seem to make your workaround work. Would you be willing to make a quick screencast on how you did it? It would be really useful for me (and I'm sure many others) even if it has to be repeated at each calendar loading. Thank you so much in advance!

@msbarrios @fservant -- I too would be very grateful to get some guidance on how this could work please.
I honestly have so much need to get this functionality back. I would be happy to help finance a solution from a developer if someone is up to the task...

Can I contribute somehow to this project?
P.S. still waiting for re-release of this app for the latest version of Calendar.

Hi guys, sorry, the workaround doesn't work anymore anyway, it's been a few months. And they changed everything again. :(


Data API

Built the other side of https://github.com/replit/repl-it-web/pull/29322 and added strong typing for the api functions.

Will make a new one once https://github.com/replit/repl-it-web/pull/29322 is merged


my app is 5 mb after adding this library what is the result of the app size any idea?

more than 16MB for sure

my app apk also increased more than 16 MB, your apk also increase the same

then no use right>?

https://github.com/barteksc/AndroidPdfViewer/issues/664

add this line in ur defaultConfig block in ur build.gradle
 ndk {
           abiFilters 'armeabi-v7a'
       }

add this line in ur defaultConfig block in ur build.gradle
 ndk {
           abiFilters 'armeabi-v7a'
       }

thanks it work for me

add this line in ur defaultConfig block in ur build.gradle
 ndk {
           abiFilters 'armeabi-v7a'
       }

can I use this filter for any library which causing large apk sizes ?


Added params for popup size customization

Added popup: { width: Int, height: Int } to  Sharrre options, if aren't defined it uses the old hardcoded values.
Removed leading spaces (Trailling spaces plugin Sublime Text 3)

Hope you have some time to review this @Julienh as i believe is really useful.

Added parameter for each platform in 2.0.0.


[question] docker update question

I know this has nothing to do with ZwaveJS2MQTT 😄, but I'm trying to figure out what the best way is to update the Docker image I have running of Zwavejs2MQTT with Docker Compose. I'll admit this is the first service I have running in Docker so kind of a nitwit here.
Have looked through the https://zwave-js.github.io/zwavejs2mqtt/#/getting-started/docker but wasn't able to find it.

Use a version tag, like zwavejs/zwavejs2mqtt:6.5.2, and docker-compose will automatically pull the image when you change the tag and bring up the app (docker-compose up -d). If you use latest, then you need to manually issue a pull, e.g. docker-compose pull && docker-compose up -d.
FYI, there's a Discussions page for questions.


[Room-Booking] No scroll on Firefox

Describe the bug
No vertical scroll
Your device details
Firefox
Reproduction

Check room-booking page

Screenshots / Additional context

Fixed in https://github.com/one-zero-eight/website/commit/82bf5129bec3397f1b4bccf37712e59593a6f502


feat: implement simple plugins

This PR adds simple plugins and extensions, which can be used to place commands and listeners in separate files. Furthermore, plugins can be loaded, unloaded and reloaded as desired, to hot-reload code, etc. This should lead to an overall better development experience. Registering sub-modules to a plugin is a planned feature, but will be delayed to a future PR.

How will state be managed? 🤔

How will state be managed? 🤔

Though I probably misunderstood the question -- as of right now, not a single model is stateful, and I'm kinda inclined to keep it that way (not that Eludris currently has anything that warrants maintaining state locally). The client can be accessed through the Plugin.client property, and any interaction with Eludris can be done from there.
The main reason I want to keep away from stateful models is so that one can easily replace the (as of yet nonexistent) cache and replace it with e.g. an external redis/keydb cache, etc.

Since it's supposed to be inspired by Hikari I'm talking about stuff like injections. You speak of replacing the cache but how will you get the same db client across all plugins?

Ah like that. Yeah, as of right now the only real typesafe way would be to create the cache instance in its own file and quite literally import it into all files that need it. As for possible solutions, I'm indeed leaning towards some flavour of dependency injection, though some kind of simple datastore could do the trick as well.

I think it's gonna be very hard to make a type-safe datastore. Injections are the most elegant solution IMO. Although I suppose you could inject a datastore lol.


Update needed to the WP global variables list

As discussed in https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/pull/904#pullrequestreview-30382018, the list with WP global variables needs to be updated.
The list is currently used by two sniffs:

Variables.GlobalVariables to check for overwriting WordPress native global variables.
NamingConventions.PrefixAllGlobals - to verifies whether a prefix is needed for variables.

For the NamingConventions.PrefixAllGlobals sniff the list needs to be complete.
For the Variables.GlobalVariables we'll need to allow for a number of variables which plugins/themes are allowed to override.

we should probably have a small $overrule_allowed list in the Global Var Override sniff and do an array_diff() to prime the list for usage in that sniff.

@JDGrimes has created an initial diff between WP core and the list currently in WPCS which is a good starting point:

I've just checked over trunk and come up with a new list of WordPress globals, and there are some changes from the old list: https://www.diffchecker.com/jOhQZYHl

But take note of:

While searching for global and $GLOBALS gives us a good starting point, any variable created in the global namespace and not unset should be on the list.

Some more references about WP global vars (which may well be out of date):

https://codex.wordpress.org/Global_Variables
https://codex.wordpress.org/WPMU_Global_Variables

Hi! I just got the report of a false positive for the core the_content string in the Theme Sniffer repo: https://github.com/WPTRT/theme-sniffer/issues/104

Error msg: Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "the_content".

Example code:
        /**
	 * Display post content.
	 *
	 * @since 1.0.0
	 *
	 * @param str $style  Current display post style.
	 */
	public function excerpt( $style ) {

		// Short circuit filter.
		$check = apply_filters( 'bayleaf_display_posts_excerpt', false, $style );
		if ( false !== $check ) {
			return;
		}

		$text = get_the_content( '' );
		$text = wp_strip_all_tags( strip_shortcodes( $text ) );

		/** This filter is documented in wp-includes/post-template.php */
		$text = apply_filters( 'the_content', $text );
		$text = str_replace( ']]>', ']]>', $text );

		/**
		 * Filters the number of words in an excerpt.
		 *
		 * @since 1.0.0
		 *
		 * @param int $number The number of words. Default 55.
		 */
		$excerpt_length = apply_filters( 'bayleaf_dp_excerpt_length', 55, $style );

		// Generate excerpt teaser text and link.
		$exrpt_url   = esc_url( get_permalink() );
		$exrpt_text  = esc_html__( 'Continue Reading', 'bayleaf' );
		$exrpt_title = get_the_title();

		if ( 0 === strlen( $exrpt_title ) ) {
			$screen_reader = '';
		} else {
			$screen_reader = sprintf( '%s', $exrpt_title );
		}

		$excerpt_teaser = sprintf( '
%2$s → %3$s
', $exrpt_url, $exrpt_text, $screen_reader );

		/**
		 * Filters the string in the "more" link displayed after a trimmed excerpt.
		 *
		 * @since 1.0.0
		 *
		 * @param string $more_string The string shown within the more link.
		 */
		$excerpt_more = apply_filters( 'bayleaf_dp_excerpt_more', ' ' . $excerpt_teaser, $style );
		$text         = wp_trim_words( $text, $excerpt_length, $excerpt_more );

		printf( '
%s
', $text ); // WPCS xss ok.
	}

The code that triggers it is $text = apply_filters( 'the_content', $text );.
Should this be added in the $whitelisted_core_hooks property? If so I can make a PR 🙂

@dingo-d I think this the wrong ticket for the filter hooks issue (it is about certain unprefixed global variables not being recognized, not the PrefixAllGlobals sniff in general).

This seemed like an appropriate ticket, as I didn't want to open a new one for no reason. I can move it to some other ticket :)

@dingo-d @mundschenk-at is right, this is not the correct ticket. This ticket is about the global variables list being out of date, your issue is about WP hooks.

Would issue 1043 be a better fit for this? I can delete the comment and move it there, or open a new ticket for it

@dingo-d No as that issue is still about variables, not hooks. Issue #1139 looks like the right issue, though it was previously closed.

Not sure if this is the right ticket, but $wp_cockneyreplace should be on the whitelist to be overridden (because that's what it's for).

@mundschenk-at PR #1773 should take care of that.

Ok, so I've made an attempt to retrieve the info needed to update this list.
I've basically made some small adjustments to the GlobalVariablesOverride sniff to allow it to generate the list and ran it over the src directory, excluding wp-content, like so:
phpcs -p ./src/ --report=full,summary,source,info --standard=WordPress --extensions=php --ignore=*/src/wp-content/* --sniffs=WordPress.WP.GlobalVariablesOverride --basepath=./
Here are the results:
20190723-global-variables-list.txt
And this is the diff:
https://www.diffchecker.com/4MKEDHNv
The results are discouraging....

825 variables which are currently not in our list.
23 variables which appear to no longer be declared by Core.

If anyone wants to help by doing some stop check and verifying the list, that would be absolutely fabulous!

Some minor checks I've done myself for variables which appear to be no longer declared by Core:

wp_user_roles should not be removed from the list.
While WP Core does not set it, it does check it in wp-includes/class-wp-roles.php.
This is basically another one which should be whitelisted for the GlobalVariablesOverride sniff as it appears this is intended to be set by a (custom) plugin.
super_admins - same thing - see: https://developer.wordpress.org/reference/functions/get_super_admins/
avail_post_mime_types highlights a bug in the GlobalVariablesOverride list as it is set via the list() construct which that sniff does not take into account yet. I opened an issue for that #1774.
merged_filters - no longer in the codebase, can be removed.
opml - mentioned in the wp-admin/link_parse_opml.php file, but does not appear to be set anywhere. Will need further investigation as the call to xml_parse() at the bottom of the file does seem to use it.
post_default_category - appears to be used, but never set: https://developer.wordpress.org/reference/functions/xmlrpc_getpostcategory/

So, just based on these initial checks, I think a more thorough check of the new list is warranted.

Ok, updated diff which now takes assignments via list() into account: https://www.diffchecker.com/21CiRD0n
Summary:

837 variables which are currently not in our list.
24 variables which appear to no longer be declared by Core.

List still needs further verification. Any help with this would be greatly appreciated.

It would be really valuable if this action would finally get executed. If anyone wants to validate the list, give me a shout and I can generate an updated version.


sampling in-batch negatives

In the paper, you mention that you sample in batch examples from the same dataset. In training/run.py, you are concatenating all datasets here.
Is there any other location in the code where you specify to sample in batch negatives from the same dataset?

Note that the lenghts of each dataset are saved right above.
They are then used to do the sampling in this class:
https://github.com/ContextualAI/gritlm/blob/a122855d6578a4f0980ea20340d5c9e1dd59d8c4/gritlm/training/data.py#L284

thanks


In offlineFeatureManager, wait for pushPhantomGraphic callback before setting attributes and styles

When extending a layer, on the private _pushValidated(edit)FeaturetoDB methods, it's possible to try to try to set the phantom graphic attribute and style before the _editStore.pushPhantomGraphic callback is complete.  This would result in a "cannot set attribute of null" error and the method's deferred will not resolve.
These two lines should be moved up within the pushPhantomGraphic callback function so they are only run with a successful callback:
                                        domAttr.set(phantomUpdate.getNode(), "stroke-dasharray", "5,2");                                         domStyle.set(phantomUpdate.getNode(), "pointer-events", "none");

Did you want to tackle this one plus #386?

Sure thing, I'm on it.
On Mon, Aug 10, 2015 at 12:30 PM, Andy<EMAIL_ADDRESS>wrote:

Did you want to tackle this one plus #386
https://github.com/Esri/offline-editor-js/issues/386?
—
Reply to this email directly or view it on GitHub
https://github.com/Esri/offline-editor-js/issues/390#issuecomment-129576427
.


Rough edges in defineTraversal API

The defineTraversal API allows Thaumaturge consumers to write custom traversals to support Refs inside of container objects (like monads).
This works just fine when defining a traversal for a type like Option or Either that is generic over its data:
import * as E from 'fp-ts/Either';
import * as O from 'fp-ts/Option';
import * as t from 'io-ts';
import { either, option } from 'io-ts-types';

defineTraversal({
  is: option(t.unknown).is,
  traverse: O.map,
});

defineTraversal({
  is: either(t.unknown, t.unknown).is,
  traverse: (f) => E.bimap(f, f),
});

However, this isn't quite as elegant when the type to traverse is not generic over its data:
const AOrB = t.union([
  t.strict({
    tag: t.literal('CaseA'),
    a: t.string,
  }),
  t.strict({
    tag: t.literal('CaseB'),
    b: t.string,
  }),
]);

defineTraversal({
  is: AOrB.is,
  traverse: f => aOrB => {
    switch (aOrB.tag) {
      case 'CaseA':
        return {
          tag: 'CaseA',
          a: f(aOrB.a) as string,
        };
      case 'CaseB': {
        return {
          tag: 'CaseB',
          b: f(aOrB.b) as string,
        };
      }
    }
  },
});

Aside from having to manually cast to string, the bigger problem here is that AOrB.is does not detect instances of AOrB when they are populated with a MappedRef.
In order to make this work, we have to create a version of AOrB that is generic over its data (or, at least, doesn't care what types inhabit it):
const AOrB = t.union([
  t.strict({
    tag: t.literal('CaseA'),
    a: t.string,
  }),
  t.strict({
    tag: t.literal('CaseB'),
    b: t.string,
  }),
]);

const ShapeOfAOrB = t.union([
  t.strict({
    tag: t.literal('CaseA'),
    a: t.unknown,
  }),
  t.strict({
    tag: t.literal('CaseB'),
    b: t.unknown,
  }),
]);

defineTraversal({
  is: ShapeOfAOrB.is,
  traverse: f => aOrB => {
    switch (aOrB.tag) {
      case 'CaseA':
        return {
          tag: 'CaseA',
          a: f(aOrB.a),
        };
      case 'CaseB': {
        return {
          tag: 'CaseB',
          b: f(aOrB.b),
        };
      }
    }
  },
});

One thought that I've had is if it would be possible to remove the need for defineTraversal entirely.
In theory, we could walk a given object's entire object graph searching for MappedRefs, replacing them as we find them. This would most likely support all sorts of container types without having to have foreknowledge of them.


Proposal: Druid extension to read and ingest Iceberg data files

Introduction
Apache Iceberg is a high-performance format for large analytic tables which presently has well-supported connectors for Spark, Flink, Trino, Hive and Impala. For ingesting Iceberg tables into Druid, the existing mechanism is either:

using a separate workflow to scan the iceberg catalog, identify the underlying data file paths followed by submitting a Druid ingestion spec with these paths
or querying the Iceberg catalog using Trino/Spark SQL and then writing the data to a separate store for Druid to ingest it.

Description
This issue intends to propose a Druid extension that ingests Iceberg tables into Druid. Given a catalog, Iceberg table name and namespace, the extension creates an Iceberg driver that connects to the configured catalog, initiates an iceberg table scan and fetches the underlying plan files for the latest snapshot. This retrieves a list of data files which are essentially Parquet, AVRO or ORC files which are then fed into an InputSource and native batch indexing takes care of the rest.
To decouple the iceberg catalog reads from the inputsources, the proposal is to have an InputSelector that provides extensible APIs to connect to iceberg catalogs. The InputSelector interface could look like this:
 @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = InputFormat.TYPE_PROPERTY)
 @JsonSubTypes(value = {
     @JsonSubTypes.Type(name = DefaultInputSelector.TYPE_KEY, value = DefaultInputSelector.class)
 })
 public interface InputSelector
 {
   List<String> chooseFiles();

 }

The proposed extension is an implementation of the InputSelector interface that connects to the configured catalog and retrieves the data files as mentioned above.
Each InputSource would then have a handler method that implements what it wants to do with the data files provided by the InputSelector and this handler is called by AbstractBatchIndexTask before constructing the input source reader. The InputSource would essentially mutate its list of paths by appending the file paths provided by the InputSelector.
The native ingestion spec would look something like this:
"ioConfig": {
      "type": "index_parallel",
      "inputSelector": {
        "type": "hive",
        "tableName": "logs",
        "namespace": "webapp",
        "partitionColumn": "event_time",
        "intervals": ["2023-01-26T00:00:00.000Z/2023-02-18T00:00:00.000Z"]
      },
      "inputFormat": {
        "type": "parquet"
      },
      "inputSource": {
        "type": "hdfs"
      }
}

The inputSelector optionally accepts a timestamp based partition column which can be used to filter the range of iceberg data files being scanned.
At its present state, the iceberg driver always reads from the latest table snapshot and only supports reading from tables that handles row creates and/or updates.
Features yet to be evaluated/implemented:

MSQ integration
Iceberg deletes and delete file handling
Reads from older iceberg snapshots
Support for filtering on multiple partition columns

While this extension has been working as expected in internal clusters, this proposal is to understand if there are major design concerns and also to gauge if there is any interest in the extension in its present state.

Very cool! I have heard a lot of people asking about Iceberg integration, so I think this kind of capability would be very interesting to the community.
One question I have is whether it makes sense to do this as purely an InputSource? Like:
"ioConfig": {
      "type": "index_parallel",
      "inputSource": {
        "type": "iceberg",
        "tableName": "logs",
        "namespace": "webapp",
        "partitionColumn": "event_time",
        "intervals": ["2023-01-26T00:00:00.000Z/2023-02-18T00:00:00.000Z"]
      }
}

I'm imagining that the IcebergInputSource goes out and finds the data backing the table, then delegates (internally) to the appropriate InputSource and InputFormat. In your example it'd internally delegate to HdfsInputSource to compute splits. For formatting, it would return false from needsFormat, then internally it would use ParquetInputFormat on calls to reader.
As to MSQ integration, unless the implementation is doing something weird, it should work out of the box with EXTERN. EXTERN lets people use any InputSource and any InputFormat. We can add nicer SQL syntax for it in a future patch, but there is that fallback method.
@maytasm was asking about this on Slack recently so might be interested as well.

@gianm Thank you for taking at look. Designing this as an InputSource is something I'd considered but my concern is that wouldn't it create a dependency across extensions? If the IcebergInputSource implicitly identifies that it needs to delegate to HdfsInputSource, wouldn't the hdfs extension need to be available to the iceberg extension in compile-time?
Or are you suggesting that IcebergInputSource would be similar to a CombiningInputSource design where the delegate input source is also specified in the spec like:
"ioConfig": {
"type": "index_parallel",
"inputSource": {
"type": "iceberg",
"tableName": "logs",
"namespace": "webapp",
"partitionColumn": "event_time",
"intervals": ["2023-01-26T00:00:00.000Z/2023-02-18T00:00:00.000Z"],
"delegateInputSource" : "hdfs"
}
}

Ah, I hadn't thought about the cross-extension dependency. I had imagined the iceberg source literally delegating to the hdfs one, but yeah, that wouldn't be available as a Java object.
I think we can fix this though. Even though InputSources from other extensions aren't available as Java objects, they're still available from class registries that may be created in core, such as the ObjectMapper deserializers. So, you could create the JSON in Java code, then use Jackson to turn it into an InputSource and use it that way. This is what allows, for example, the druid-multi-stage-query extension to use any kind of InputSource from any extension, without depending on those extensions.
Wonder if this is a good path or if it's too weird?
If too weird, it'd also be an option to create a different kind of registry instead of using ObjectMapper. ComplexMetricSerde could be a model here.

Hi, I'm wondering if you're still interested in contributing this? There's certainly plenty of community interest.

Hi, I'm wondering if you're still interested in contributing this? There's certainly plenty of community interest. Btw, if you're interested in chatting live and then bringing the discussion back here, many of us are on Slack in the #dev channel: https://druid.apache.org/community/join-slack?v=1

@gianm Sorry for the delay in getting back on this. I was able to reuse the core class registries for accessing the input sources without having to add them as a dependency. We ran into a couple of bugs in our internal clusters, but they're good now. I hope to find some cycles in the next couple of weeks to put up a PR.
One question though, would we need to provide hadoop 2.x compatibility for this extension? Currently the hive metastore dependencies that it uses only works with hadoop 3.x. Maybe it will be a good motivation for users on hadoop 2.x to migrate off of it :)

@a2l007 - is it that the extension will only work with Hadoop 2.x or is will the extension also require dependency upgrades in core druid? As in, is the extension dependency going to conflict with any core dependency such as Guava?

@abhishekagarwal87 The extension currently only works with hadoop 3.x because of a hive metastore dependency that has some issues with hadoop 2.8. I'm looking to see if there is a way around this but to answer your question, no I haven't had to upgrade any of the core dependency versions to get this working.

I don't think hadoop 2.x compatibility for this work is important. We just wouldn't want to break hadoop 2.x compatibility for existing cases. (Yet 🙂. I'd like to break it one day…)


[mgmt] nginx release

https://github.com/Azure/sdk-release-request/issues/4720

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-nginx


Automated Latest Dependency Updates

This is an auto-generated PR with latest dependency updates.

Pinned ipywidgets instead - #4097


POST with no parameters returns "Cancelled"

Finally figured out that I always get a request return immediately with error 500 "Cancelled", if the parameters: dictionary is empty, or nil.
Adding any parameters to the dictionary, regardless of whether they're being used by the server, works fine.

If you're getting a 500, it means the server replied with 500.

I beg your pardon: it wasn't a 500 error at all, this is the error I get:
Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=http://<IP_ADDRESS>/v2demo/api/moments/pokeV.php, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=http://<IP_ADDRESS>/v2demo/api/moments/pokeV.php}
Trying the same URL with any parameters works, trying a simple HTML form with no parameters also works.
Ian
On 26/04/2017, 19:07, "Steven Fisher"<EMAIL_ADDRESS>wrote:
If you're getting a 500, it means the server replied with 500.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <https://github.com/AFNetworking/AFNetworking/issues/3943#issuecomment-297494574>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAb5BJcNjOtlSN_0m4OHkeTN8WHd64uNks5rz4f_gaJpZM4NIpN1>.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/AFNetworking/AFNetworking","title":"AFNetworking/AFNetworking","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/AFNetworking/AFNetworking"}},"updates":{"snippets":[{"icon":"PERSON","message":"@tewha in #3943: If you're getting a 500, it means the server replied with 500."}],"action":{"name":"View Issue","url":"https://github.com/AFNetworking/AFNetworking/issues/3943#issuecomment-297494574"}}}

Pre-amble:
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    AFJSONResponseSerializer *resSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves];
    AFJSONRequestSerializer *reqSerializer = [AFJSONRequestSerializer serializer];
    [reqSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    manager.requestSerializer = reqSerializer;
    manager.responseSerializer = resSerializer;
Then the problem line:
    [manager POST:@"http://<IP_ADDRESS>/v2demo/api/moments/pokeV.php" parameters:nil constructingBodyWithBlock:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
        NSLog(@"Success %@", responseObject);
    } failure:^(NSURLSessionTask *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];
But the working line:

This usually means that your AFHTTPSessionManager is being deallocated before the requests finishes. Try saving a reference to it to keep it alive. For general help, please ask on StackOverflow.

Read the issue again.
One line works, the other line does not.
The erroneous return happens immediately: nothing is being deallocated.
Rewrite the example in any way you like: if you don’t use parameters, you get the same error.
Ian

On 22 Nov 2017, at 20:47, Jeff Kelley<EMAIL_ADDRESS>wrote:
This usually means that your AFHTTPSessionManager is being deallocated before the requests finishes. Try saving a reference to it to keep it alive. For general help, please ask on StackOverflow.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi, I have encountered the same issue.
When request method is POST and no parameters is passed(either empty dictionary or nil), the request will simply response with failure (NSURLErrorDomain, Code=-999 "cancelled")...
This will not happen when parameter is not nil or empty, so I believe this is not due to the deallocation of the manager...
I've tried to traced the library and find that:

there are part of code logic getting skipped when parameter is falsely (in this method: 'multipartFormRequestWithMethod', which is in AFURLRequestSerialization.m, ~line386).
this making a lot of setup logic(like assigning multipart/form-data and contentLength) getting skipped in next called method 'requestByFinalizingMultipartFormData' because self.bodyStream is empty(since it has not been appended before)

So I wonder if this is the root cause of the problem?

FYR,
Parameters falsely checking:
https://github.com/AFNetworking/AFNetworking/blob/master/AFNetworking/AFURLRequestSerialization.m#L394
bodyStream empty checking:
https://github.com/AFNetworking/AFNetworking/blob/master/AFNetworking/AFURLRequestSerialization.m#L822


Youtude.dll download link

How can we get download link by running  Youtube-dll  exe in command prompt
C:\Users\User\Downloads>youtube-dll http:\Anyvideiolink\pp---

There's no Youtude.dll or Youtube-dll.

Yes it is  - Youtube-dll
On Sun, Aug 1, 2021, 6:33 PM kikuyan @.***> wrote:

There's no Youtude.dll or Youtube-dll.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/29709#issuecomment-890516796,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQKBT7JPHAJ4KDWXPI4SRKLT2VAYNANCNFSM5BLC375Q
.

No, the name doesn't have a dual small L, and no "youtube-dll" exists. I didn't research into "youtube.dll" more than what Google forced me to see in the results list but it seems it was a malicious thing, one unaffiliated with ytdl.

Yes you are right - youtube-dl
C:\Users\User\Downloads>youtube-dl http:\Anyvideiolink\pp---


Fixed buffers to support ReadFixed and WriteFixed ops

Add infrastructure to manage pre-registered buffers, and operation methods File::read_fixed_at and File::write_fixed_at to make use of them. Exclusive access to buffer data between the application and in-flight ops is controlled at runtime.
This is initial API to enable fixed buffers. Future developments may include:

:white_check_mark: Improved parameter polymorphism with ~#53~ #172;
An internal linked list of free buffers, to be able to check out the next available buffer from FixedBufRegistry without enumerating or keeping track of indices;
Support IORING_REGISTER_BUFFERS2/IORING_REGISTER_BUFFERS_UPDATE.

Needs #52 to get tests to pass.

@Noah-Kennedy Yes, I should update the PR at least, will get to it soon.

I have rebased the branch. The tests (after merging with #52) sporadically fail, but I see the same flakeyness in master.

@mzabaluev Can we try again and get this merged? You put a lot of work into this. I can get up to speed on it shortly if you wanted to rebase with master. Perhaps wait for the other merge we might pick up first so the rebase only has to be done once more.

@FrankReh I'll try to rebase the branch this week.

@ollie-etl

I believe the api for Buffers::new is flawed, and should instead take a buffer and fragment it internally.

This API allows pre-registering an arbitrary set of pre-allocated buffers. While it's true that each buffer needs to be allocated separately, registering is meant to be a one-time operation for the lifetime of Runtime, and with a good allocator and reasonably sized buffers, the overhead should be negligible. If bytes was a non-optional dependency, it would be possible to take a sequence of BytesMut handles into fragments of a larger buffer.

Okay, here's the thing. In my defense, I assumed the PR by the same OP was going to be worked on first and I would have time to look through this and fully understand what's going on. I think the feature this PR addresses should be handled with a trait, perhaps named FixedBuffers, so the read_fixed and write_fixed operations are not tied to the opinions of buffer management.
The PBUF_RING feature I am introducing in the next few days uses a trait, BufferGroup, for the same reasons.
I would like to start a fresh review of this PR in the morning. If @mzabaluev, who started this PR over a year ago, would like me to make modifications based on the review, that would be fine and very understandable.
Or if @Noah-Kennedy or @carllerche would like to see this go in, as is, and then wait for my own PR that proposes making it generic, that would be fine too.
The uring interface has evolved a lot since its introduction, I guess with kernel 5.1, but mostly in the area of reading or receiving into buffers. The fixed buffer approach may be the only shared buffer mechanism introduced for writing so far. That's interesting and not something I appreciated until I started looking at this.

@ollie-etl

I believe the api for Buffers::new is flawed, and should instead take a buffer and fragment it internally.

Doesn't the caller have the option of allocating a buffer and passing in an iterator over that buffer if they want? The crate could even provide a helper function or two to do that using that, perhaps based on std::alloc::alloc_zeroed(layout).

Looks like a name in a documented example didn't get changed.

@mzabaluev Running into this compile error. Does this not have your latest slice branch merged in? Does that explain the Slice<Slice> error?
$ cat tcp_listener_fixed_buffers.rs
use std::{env, iter, net::SocketAddr};

use tokio_uring::buf::fixed::FixedBufRegistry;
use tokio_uring::net::TcpListener;

fn main() {
    let args: Vec<_> = env::args().collect();

    let socket_addr = if args.len() <= 1 {
        "<IP_ADDRESS>:0"
    } else {
        args[1].as_ref()
    };
    let socket_addr: SocketAddr = socket_addr.parse().unwrap();

    tokio_uring::start(async {
        let listener = TcpListener::bind(socket_addr).unwrap();

        println!("Listening on {}", listener.local_addr().unwrap());

        loop {
            let (stream, socket_addr) = listener.accept().await.unwrap();
            tokio_uring::spawn(async move {
                // implement ping-pong loop

                println!("{} connected", socket_addr);
                let mut n = 0;

                let registry = FixedBufRegistry::new(iter::repeat(vec![0; 4096]).take(1));
                registry.register().unwrap();

                let buffer = registry.check_out(0).unwrap();

                use tokio_uring::buf::IoBuf;
                loop {
                    let (result, nslice) = stream.read_fixed(buffer.slice(..)).await;
                    let read = result.unwrap();
                    if read == 0 {
                        println!("{} closed, {} total ping-ponged", socket_addr, n);
                        break;
                    }

                    // Ignore fact that this isn't a write_all with fixed yet. My first tests are
                    // with short texts from nc anyway.
                    let (res, nslice) = stream.write_fixed(nslice.slice(..read)).await;
                    let _ = res.unwrap();
                    buffer = nslice.into_inner();
                    println!("{} all {} bytes ping-ponged", socket_addr, read);
                    n += read;
                }
            });
        }
    });
}

$ cargo build --release --example tcp_listener_fixed_buffers
  Compiling tokio-uring v0.4.0 (/home/frank/forks/tokio-uring)
error[E0308]: mismatched types
   --> examples/tcp_listener_fixed_buffers.rs:45:60
    |
45  |                     let (res, nslice) = stream.write_fixed(nslice.slice(..read)).await;
    |                                                ----------- ^^^^^^^^^^^^^^^^^^^^ expected struct `FixedBuf`, found struct `Slice`
    |                                                |
    |                                                arguments to this function are incorrect
    |
    = note: expected struct `Slice<FixedBuf>`
               found struct `Slice<Slice<FixedBuf>>`
note: associated function defined here
   --> /home/frank/forks/tokio-uring/src/net/tcp/stream.rs:114:18
    |
114 |     pub async fn write_fixed(
    |                  ^^^^^^^^^^^

For more information about this error, try `rustc --explain E0308`.
error: could not compile `tokio-uring` due to previous error

Here's a version that works, albeit for just one connection at a time. It shows the buffer is being checked in when it gets dropped.
$ cat tcp_listener_fixed_buffers.rs
use std::{cell::RefCell, env, iter, net::SocketAddr, rc::Rc};

use tokio_uring::buf::fixed::FixedBufRegistry;
use tokio_uring::net::TcpListener;

fn main() {
    let args: Vec<_> = env::args().collect();

    let socket_addr = if args.len() <= 1 {
        "<IP_ADDRESS>:0"
    } else {
        args[1].as_ref()
    };
    let socket_addr: SocketAddr = socket_addr.parse().unwrap();

    tokio_uring::start(async {
        let listener = TcpListener::bind(socket_addr).unwrap();

        println!("Listening on {}", listener.local_addr().unwrap());

        let registry = FixedBufRegistry::new(iter::repeat(vec![0; 4096]).take(1));
        registry.register().unwrap();
        let registry = Rc::new(RefCell::new(registry));

        loop {
            let (stream, socket_addr) = listener.accept().await.unwrap();
            let registry = registry.clone();
            tokio_uring::spawn(async move {
                // implement ping-pong loop

                println!("{} connected", socket_addr);
                let mut n = 0;

                // Check out anew, letting it get dropped.
                // Sure, it means this server can only handle one connection at a time.
                let mut buffer = registry.borrow().check_out(0).unwrap();

                use tokio_uring::buf::IoBuf;
                loop {
                    let (result, nslice) = stream.read_fixed(buffer.slice(..)).await;
                    let read = result.unwrap();
                    if read == 0 {
                        println!("{} closed, {} total ping-ponged", socket_addr, n);
                        break;
                    }
                    buffer = nslice.into_inner();

                    // Ignore fact that this isn't a write_all with fixed yet. My first tests are
                    // with short texts from nc anyway.
                    let (res, nslice) = stream.write_fixed(buffer.slice(..read)).await;
                    let _ = res.unwrap();
                    buffer = nslice.into_inner();
                    println!("{} all {} bytes ping-ponged", socket_addr, read);
                    n += read;
                }
            });
        }
    });
}

Does this not have your latest slice branch merged in? Does that explain the Slice<Slice> error?

Yes, I'm developing #53 independently.
There is no need to do this, FixedBufRegistry does it already internally and the registry handle can be cloned:
       let registry = Rc::new(RefCell::new(registry));

To resolve the "one buffer at a time" problem, I plan to add a linked list through free buffers later.

@mzabaluev Right. I've got the example working without the Rc and RefCell now. Thanks for the pointer.
Having a check_out_next would be convenient if it can use the same space. Sounds like a slab in a way, but one that doesn't grow. Separate PR though right? I don't want this work to get even bigger while waiting for it to be merged.

I'd prefer #172 merged first so that the API of the new methods could be made less fugly.

I want to provide access to the initialized bytes in FixedBuf as an &[u8].
What's your opinion on implementing Deref/DerefMut? Slice implements these traits, but it's potentially troublesome to have Deref together with inherent methods or traits with application-callable methods that do something other than trivially delegate to the target (1 2). Perhaps it's more prudent to implement Index, IndexMut, and AsRef<[u8]>?

Thanks @FrankReh and @Noah-Kennedy for getting #172 merged. The API here is much nicer now, both FixedBuf and Slice<FixedBuf> can be passed to the operations.

I'll try to review now. Took a quick glance and they did look cleaner. But @Noah-Kennedy will be anxious to get his moved files in so this may have to go through another rebase. From his move diffs though, mostly files were moved with no symbol name changes, but the odd use or mod change. I don't know if git will be making that easy for you to merge or rebase with or not.  But before doing too much manual work, probably want to wait for Noah to also bless this type of work. I don't think he's commented on it recently.

Going to wait for @Noah-Kennedy to decide the timing of this merge, or to provide his own review too of course.

I just merged #180, so this needs a rebase. I'll review once that happens.

I'm a bit concerned about soundness in the case where buffers are checked out and then unregistered. If my understanding is correct, a user could safely cause undefined behavior by using the deref implementation of an existing buffer after the set of buffers has been unregistered.

Unregistering the buffers does not get them deallocated, as long as there is a FixedBuf or a FixedBufRegistry handle holding a reference to the registry's inner data. And only these objects provide the safe API to access buffers' data.
My concern is rather that it's not necessarily easy to know the moment when the buffers get dropped. But:

The v1 io-uring API for fixed buffers is mostly suited for one time set up and tear down rather than juggling with successive generations of buffers.
The IORING_REGISTER_BUFFERS2 API with tagged buffers in fact promotes the model of eventual dropping of replaced buffers as CQEs reporting their release by the kernel get received.

I'm also uncomfortable with the idea of this being able to leak buffers this easily.

The only problem I see is that leaking a single FixedBuf handle, in general scenarios where such leaking is possible, would leak the entire buffer collection owned by its FixedBufRegistry.

@Noah-Kennedy I think you raised two concerned about 12 hours ago and @mzabaluev gave some feedback 7 hours ago. Do you still believe holding a reference to a buffer after the kernel has had the buffers unregistered is a problem? I may just be repeating @mzabaluev , but I believe the memory has not been freed in that case so no UB there, and the kernel would reject further attempts at using that buffer (but it would have had to be owned, not just referenced). So maybe not a problem?
On the second concern, where do you see buffers being leaked? Or is that part of the first concern and @mzabaluev and I don't follow your point, or you've changed your mind on it?

Sorry about the responsiveness, I'm traveling at moment.
@mzabaluev thanks for the clarification, I see that I misread how that is tracked.
I'm in favor of merging.

@FrankReh I'll leave the merging to you as I'm getting on a plane in just a moment.

I'm fully in agreement here.

Thanks for shepherding this!

The fixed indexes begs for one or more implementations of sets of buffers. One where the next is supported, as @mzabaluev has called out before.

I'm pretty sure I can work two Option<u16> linked list indices for the next and the previous free buffer into BufState::Free, so that the overall size of the enum does not increase. Updating the list when a buffer gets freed takes constant time. So the try_next operation could be added for FixedBufRegistry itself.

I'm also wondering about one where next would be a Future so one could await the next free index. Let's say I create an index registry with 1000 buffers and I don't want to drop a service if another buffer isn't available, but rather I want to wait for one to free up.

I think it's also feasible to implement an async next method for FixedBufRegistry. Tasks pending on next can post their wakers internally at the registry, and dropping a FixedBuf will fire up all accumulated wakers at its registry. This feature has a small and constant runtime cost per each buffer check out/in, unless the tasks exhaust the pool of free buffers.

Once it is behind a Future, it could also be behind a timed Future that does something different if a buffer isn't freed in a reasonable amount of time.

I can't think of anything that can't be achieved with existing composing APIs like tokio::time::timeout, but maybe there is something clever to do with the buffers internally when the timeout is elapsed?

Not to confuse anyone, I totally saw using the tokio timeout future. Didn't mean it would be built into our library or an extras module. Just that waiting for the next would be useful and then it's easy to break out with a timeout too if the situation calls for it. Guess I was stating the obvious and that was confusing.


Decreasing NYT10 Performance at every training epoch

Hi there!
I'm training on the NYT-10 dataset using the default hyperparameters from the repository, without changing anything but cuda_device, setting num_workers to 0 and batch_size to fit in my GTX-1070.
Training starts with a good accuracy/f1 in the first epoch, but decreases at every following epoch. Should I change anything else so the training can work on this dataset?
Thanks!

where you able to fix it? what was the final f1 score?

Good question. We also find this problem.  It is because NYT10 are evaluated with no Negative samples(NA), while training with around 80% negative samples. Thus the model will be overfitted on negative samples(if you add NA in evaluating, you will find the scores increase). It is better to stop early.

It also reminds us we'd better to keep similar statistic distribution between training set and testing set while using in a real situation.

@pvcastro were you able to fix it? what was the final f1 score?

Sorry, missed here. No, I haven't tried running this training again.


use go install instead of go get for rsrc command

Fix for readme instruction (#43). Simple but necessary.

I'm not sure how recently maintained rsrc is, however there are more active alternatives:

tc-hib/go-winres
josephspurrier/goversioninfo


⚠ Bofrost.de has degraded performance

In e967757, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1321 ms

Resolved: Bofrost.de performance has improved in 92efc9e after 13 minutes.


Windows 10 support

Greetings.
I seem to have an issue with using this on Win10, but I can get it to work on WIn11, whereas the windows-DPI-scaling-sample project seems to work on both
On Win10, I just get an empty/blank output - tested on 2 win10 machines running 1607 and 1809 (so older releases)

I don't have an option to update the machines.
Is this intended?

FYI, it works fine for me on WIndows 10 22H2


potential varLib bug in instantiation

(@anthrotype suggested I file a bug)
When instantiating from a VTT-autohinted font, the composite autohints become broken.
Here's the variable font with its good composite low-level hint code:
/* VTTTalk Unicode 0xc9 */
/* ACT generated Thu Jun 20 15:25:27 2019 */

USEMYMETRICS[]
OFFSET[R], 38, 0, 0
OFFSET[R], 971, 435, 375
CALL[], 21, 22, 88
SVTCA[Y]
CALL[], 12, 0, 0, 0, 1616, 86
SHC[2], 1
CALL[], 9
CALL[], 12, 13, 11, 30, 10, 87
SVTCA[X]
SHC[2], 1

Here's an instance at an axis maximum:

You can see that the extra-bold, the second glyph, is incorrect. It uses the same low-level hint code as the default instance.
I'll explain what the pertinent parts of the hint code are doing so you can see where the adjustments would have to be made.
USEMYMETRICS[]
means this is a composite and I am specifying metrics
OFFSET[R], z, x, y
z = GID, x = X offset, y = Y offset
CALL[], 12, 13, 11, 30, 10, 87
Function call 87 centers an accent over a base. It is centering points 12 and 13 between points 11 and 10 with an offset of 30.
whoa
I'm keeping this here so I don't lose my work and in case I do need it, but, as noted at https://github.com/laerm0/opensans/issues/17#issuecomment-507716129, I'm pretty sure the error is on Microsoft's end. I'm contacting them and will return to this if I need to. I am going to close as soon as I file this and re-open down the road if necessary.

Nope, it had nothing to do with the hints. Remove the composite autohints and you still have misaligned accents, but only in the italic.

Take a look at the italic instances here near the axis extrema and you'll see misaligned accents (i.e. the light and extrabold weights).
Seems to only be an issue in the italic, if that helps. Thanks.

What combo of browser + operating system is that screenshot from?
I can't seem to reproduce the issue using the italic instances you linked above (i tried light and extrabold weighs), I'm using latest Chrome on Linux.
Are you sure it is the precomposed accented glyphs and not the character combinations using combining marks and GPOS mark feature?
Maybe the rendering environment you are trying to render a text contiaining combining marks doesn't support GPOS mark feature?

The screenshot of Vietnamese glyphs is Win 10 Chrome.
If you open the fonts in any font editor (the examples at the top are VTT), you can see the accents are misaligned. It may also be related the the metrics of ligatures breaking post-instantiation.

please try be a bit more specific: which font file, which characters or glyphs
also, what is the expected output and how it is different from the actual output that you get.

Here's a similar example from OpenSans-Italic-wg300wd75.ttf in OTMaster.

Okay, well, start with the ligatures in the Italic wg300wd75 and wg800wd75 weights. The metrics are based on the first glyph in the ligature. Then take a look at the accented cap A glyphs. Those accents should be centered above the glyph, but many are misaligned (uni1EB0 uni1EB2 uni1EA8 very much, Aacute Abreve Amacron more subtly off).
Thanks.

The source TTFs are in that directory of the repo: opensans/source/TTF VTT source/OpenSans-Italic.ttf
You can also rebuild from source if you wish. The build script is in opensans/source/.

micah, can you try instantiating the unhinted varible fonts and compare the result with instances generated from the variable font that went through VTT?
Do you see the same issues with component offsets? If not, I have a hunch that VTT is messing things up somehow

I get huge differences between the variable fonts generated using the source/build.sh script and those in "TTF VTT sources" (I am looking at the master branch). How were the latter varfonts generated? Were these not generated with the same build commands? What did they go through after that?

I've just instantiated from freshly built fonts, unhinted, and you're right: these glyphs are fine, including the ligatures. Hmm. I'll have to ponder this and see what the hinting is breaking.

I get huge differences between the variable fonts generated using the source/build.sh script and those in "TTF VTT sources" (I am looking at the master branch).

What kinds of diffs are you seeing?

How were the latter varfonts generated? Were these not generated with the same build commands? What did they go through after that?

These files were generated using the same build process but I had to do a lot of table tweaking to the TTFs so that they would accept the old hints from the original hinted files. The very ugly process is documented at https://github.com/laerm0/opensans/blob/master/source/instance_creation_process.md .

difference are too many. Try yourself to rebuild the unhinted variable font, dump to ttx, then dump your VTT-hinted variable font to ttx (I took the one I found in that "TTF VTT sources" folder), and diff the two.
It's not just the added hinting data. Even the glyf outlines show differences.
For example, take the first contour on letter "A". It's the same points but the contour direction is flipped!
Did you maybe use --keep-direction option when you produced the varfont before starting the manual hinting in VTT? The build.sh script is not using that.
     <TTGlyph name="A" xMin="0" yMin="0" xMax="1229" yMax="1468">
       <contour>
         <pt x="1229" y="0" on="1"/>
-        <pt x="653" y="1468" on="1"/>
-        <pt x="588" y="1468" on="1"/>
-        <pt x="0" y="0" on="1"/>
-        <pt x="113" y="0" on="1"/>
-        <pt x="317" y="516" on="1"/>
-        <pt x="911" y="516" on="1"/>
         <pt x="1114" y="0" on="1"/>
+        <pt x="911" y="516" on="1"/>
+        <pt x="317" y="516" on="1"/>
+        <pt x="113" y="0" on="1"/>
+        <pt x="0" y="0" on="1"/>
+        <pt x="588" y="1468" on="1"/>
+        <pt x="653" y="1468" on="1"/>
       </contour>

Well, when I originally hinted these files, I was unaware of fontmake and the build process was essentially just have Glyphs export the VFs. That's why the contour direction on the Italic is wrong. I had to do so much work on the Roman after the fact, though, that I eventually just rebuilt using the proper procedures and so it has a correct contour direction.
At this point, maybe I'm just going to rehint the italic from scratch. Yuck. I'll see what I can figure out.

@laerm0  Was there a varlib bug here? :) If not, please close


[Bug]: NullPointerException after dying of electrocution

Minecraft Version
1.20.1
Modloader
Forge
Modloader Version
47.2.23
Greate Version
0.0.19
What happened?
Actually caused by that belt tier issue so I'm waiting for new release
crash-2024-05-15_00.19.10-client.txt
Log/Crash Report
No response

Can you try with this jar and see if you still crash?
You just need to extract the zip after downloading to get the testing jar.


Continue button missing from us message step after browser is closed

Expected behavior
continue button should show up on intro screen. title does in some cases. not sure what the expected behavior is here
Actual behavior
continue button doesn't show up on intro screen when you revisit it. title does
Information
First run:

Subsequent run:

{
    "version": "0.14.0",
    "git": "d12fe4c",
    "buildTime": "2018-08-29T17:49:28Z"
}

Steps to reproduce the behavior
lifecycle:
  v1:
  - message:
      contents: |
        This tool will prepare assets to deploy BLAH to your Kubernetes cluster.

Run ship
Open browser link
Click continue
Close browser window
Open browser link

@emosbaugh It looks like this is resolved on unstable Docker image/master.


Add Vou pro Cabaré by Rei da cacimbinha

Song Name
Vou pro cabare
Artist Name
Rei da cacimbinha (ft. Jhon Falcao)
Source
Youtube
Youtube Link
3mLTp6cBGepFLsET
Direct File Link
No response
Song ID
778652
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 66728963

accept


Numeric precision issue working with SQLite

Hello,
I'm using dbeaver for Linux X64 and I'm very happy with it. I work on xubuntu.
I think dbeaver ce 3.8.5 has an strange behavior with numeric data type for SQLite. dbeaver does not show fractional part of numeric data type.
I have used sqlite3 binary to check numeric datatype and it was storaged correctly and it is displayed correctly.
Also, I have employed "sqliteman" on ubuntu and it shows correcty the data.
I have verified the "type formatter" option in Window/Preference menu and it have adjusted it for correct display and the issue continues.

Here before edit data type formmater

Here showing data with sqlite3 on terminal and data is shown correctly

Using sqliteman and the data is shown correctly

Editing "data type formatter" but the issue continues
If I am doing uncorrectly somethink, Could somebody let me to know it?.
Thanks
Regards.

Can't reproduce.
What is the data type of column "multyplirate"? Could you post table DDL?

Hello.
Yes of couse.
`create table C_UOM_Convertion (
AD_Client_ID integer not null,
AD_Org_ID integer not null,
C_UOM_ID integer not null,
M_Product_ID integer not null,
isActive character(1) default 'Y' not null,
UOMfromsymbol varchar(10) not null,
UOMfromname varchar(60) not null,
C_UOM_To_ID integer not null,
UOMtosymbol varchar(10) not null,
UOMtoname varchar(60) not null,
multiplyrate numeric(10,3) not null,
dividerate numeric(10,3) not null,
foreign key (M_Product_ID) references M_Product(M_Product_ID)
);`

Thanks
Regards

Still can't reproduce:

What SQLite driver (version) do you use?

Ah, I did reproduce that.

This is a bug in SQLite JDBC driver.
It sets column type according to first fetched value type. So if first value is integer (1 in your case) then it decides that whole column has type integer.
I'll try to make some workaround..

OK, Thanks!

This issue will be resolved as part of #535.
SQLite uses dynamic types (i.e. any column may store value of any type) so classic relational db approach doesn't work. New SQLite extension will have special value handler.

Thank you! Together we can produce better software!!


Can I hook all methods?

I wanna hook all the methods in my project. Is that possible?

yes, u can use "**" to match all methods
but, i suggest u not do this
because the compilation time will be longer and the running performance will be slow down


imagetracked trackingstate doesn't work

trackingstate Always tracking. arcore1.7  ue4.23
My English is not good, use the translation
I hope you see what I mean

I believe that this kind of behavior is by design.


Allow statistics as a statistics provider

Allow statistics to subscribe to other statistics, in addition to log providers.
There's a test to check whether any statistic has a cyclic dependency on itself. I checked the cycle checker by introducing the statistic Block_producer_rate as a "seen" statistic, verified the check failed. When a new statistic is created, it should be added to the test. (Alternatively, we could do the cycle check on init, so that we don't have to remember to add it.)
The new subscription code emulates what's there for log providers. I'm not at all sure whether it will work, or how to test it, really. mix run fails for me in develop, so that doesn't seem to be a starting point.
mix [compile,dialyzer,test] all succeed.
If this works, closes #5387.

Doesn't this need to fold over the seen statistics to be correct?

The seen statistics are those along a possibly-cyclic path starting from some statistic. If you list all statistics as starting points, you should find all cycles.
It's not an efficient algorithm -- you can traverse the same part of a path several times -- but the graph should be small.

@psteckler I did it out on paper, and I'm convinced checking each branch for a cycle independently means there are no cycles. You're correct that folding would only increase efficiency, not correctness.

the way logs are delivered to the statistic is via the Architecture.LogProvider.Junction

How do statistics get delivered to statistics?

How do statistics get delivered to statistics?

When you subscribe the the junction, you will automatically receive subscription messages from that junction whenever messages are broadcast.
Junctions are implemented using registries https://github.com/CodaProtocol/coda/blob/develop/src/app/validation/lib/architecture/junction.ex#L1. See https://hexdocs.pm/elixir/Registry.html#register/3 for details on how registries work.


add search page

Coverage increased (+0.3%) to 42.766% when pulling 7e31378744ab32176a030d9053dd9eb7165f0f10 on 40huo:develop into 23278f810ef621e7630126d9f5f7e036629bbd49 on wufeifei:develop.

Coverage increased (+0.3%) to 42.766% when pulling 6d05c1a6b4a8e9298271c22f52c48f682c2df27b on 40huo:develop into 23278f810ef621e7630126d9f5f7e036629bbd49 on wufeifei:develop.

fix #475


fix(lint-style): correct error message

@adomani I'm delegating this to you, since you have a question to answer. Otherwise I think this change is fine.
bors d=adomani

Thanks!
bors merge


Refactor local settings

Refactor everything about how local-settings.inc works
Now there's no duplication between your db include and local-settings.inc, it's all in one place.
You may need to delete your existing local-settings.inc and change how it's being included, assuming you have a committed settings.php.

Note, once this is merged, we should clean up unused stuff from the Templates Directory: https://github.com/clwdev/precip/tree/master/puppet/precip/templates


update recipe rpbasicdesign 0.3.2

update recipe for rpbasicdesign package to 0.3.2:
A command-line tool to convert rpSBML files into SBOL and CSV files ready-to-be used with DNA-Bot.

Checklist

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

Hi! This is the friendly automated conda-forge-webservice.
It appears you are making a pull request from a branch in your feedstock and not a fork. This procedure will generate a separate build for each push to the branch and is thus not allowed. See our documentation for more details.
Please close this pull request and remake it from a fork of this feedstock.
Have a great day!


Subscriber Count Always 0

I am fetching the repositories belonging to an organization, and I have noticed that the subscribers count is always 0. I have done several tests where I will watch and unwatch a repository and then checking a call to the github API using v37 of go-github and then directly call the API. The direct call was always accurate, matching the actual watch count, and go-github always returned 0. I investigated further and found that the SubscribersCount property of github.Repository is always nil which is why the subscriber count is 0. The rest of the code functions as expected; I retrieve all the expected repositories and all their other attributes are correct. Any help in resolving this issue is greatly appreciated.
Example repository used: https://github.com/jstigter-test/cool
Github API call checked against: https://api.github.com/repos/jstigter-test/cool
Code snippet used to retrieve the repositories for an organization: repos, _, err := g.Client.Repositories.ListByOrg(...)
Code snippet to retrieve the subscribers: watchersCount := repo.GetSubscribersCount()
Package imported: github.com/google/go-github/v37/github

Note that when making comparisons between the GitHub API direct calls and using this library, you need to use the exact same endpoint to determine if this library is working correctly.
Therefore, the call you should be using for comparison is this one: https://github.com/google/go-github/blob/master/github/repos.go#L416-L419
which is a GET /repos/jstigter-test/cool.
Please try this instead of ListByOrg and report back your findings.

The reason I say this is because the GitHub API is known to not always populate all fields in all possible API calls that return a particular struct (such as Repository).  Whenever there is doubt, you should read the GitHub API docs directly (which we add links to from this repo).
In this library, we reuse structs for multiple purposes instead of attempting to make exact matches for each possible API call and the fields that the official API chooses to return.  This is a matter of practicality.

I switched to a singular API call to retrieve the repository and the SubscribersCount was correct. Thank you for explanation, and I will read through there in the future.
Thanks!


Input formulas into quantity input dialog

Is your feature request related to a problem? Please describe. and Describe the solution you'd like
I go to the grand exchange and know that i need 15 papayas for each fruit tree, i plan on planting 6. I would like to type 6 * 15 OR 15 x 6 into the Quantity popup and for runelite to replace my value with 90.
This could be expanded such as, i need 1000 pure essence, i have 567. So i type out 1000-567 to let runelite replace the value.
Describe alternatives you've considered
Getting good at maths, but thats not gonna happen,
Also windows os calc, it works, its just not slick and easy mid game session to fire up a calculator rather than type out 6*15 in osrs

Putting a basic calculator in the sidebar has been rejected before (see #3967). The rest of the request seems to be unique though, so if you could remove the side panel stuff from it that would be great :+1:

@Hydrox6 Updated - to remove old requests. Would be amazing if this became a thing :) thanks

This would be awesome. Any timeline on when it might be added?


Copy paste features

This is for #642
(these commits were split off from #2489)
Foundation and tests for entity copy/paste is there, need to add:

[X] behaviors (keybindings)
[X] handle circular, self-referencing relation graphs

These tests fail and I have no idea why.
Entering the same commands into a browser dev console works fine.

This is working really well now!  I have it bound to ⌘-C and ⌘-V for now, just as behaviors (not operations).
I have to say it is pretty awesome being able to do this in iD:

@jfirebaugh, @aaronlidman check it out when you have a chance..

@bhousel This works fantastically.
I only noticed one weird behavior. After pasting items, they don't follow the hidden behavior on zoom as other items of the same type.

I only noticed one weird behavior. Pasted items don't follow the same hidden behavior on zoom as other items of the same type.

Oh, that's a weird behavior with feature filtering.  We don't hide things that the user just created (i.e. anything with a negative id).

Ah, makes sense :+1:

Very exciting feature! Would it let me copy the attributes of a point to a polygon?

Very exciting feature! Would it let me copy the attributes of a point to a polygon?

Actually iD can already do that..  Just select both the point and polygon and click the Merge button.  The point will be removed and its tags will get merged into the polygon.

@bhousel Bryan thanks for the heads up on that!

@talllguy Yeah it's super useful!  There is an open issue #815 to make point-area merging more discoverable.

Excellent, that's the only feature I missed from other editors for the everyday mapping. Thanks!


Add milestone link in release notes text

Currently GitHub doesn't provide a link from the "releases" page to the "milestones". It would be helpful if our release notes provided a link back to the milestone.

It's hard to add this without it looking odd. Given that the limited value, I'm going to close this one.