Ideas for v0.0.8

[ ] Bigger descriptions about places. About three or four different texts per location, one picked at random at location creation, increasing gameplay immersion.
[ ] After a creature dies, its corpse will lay on the ground and all the items it had in its inventory will be dropped.
[ ] Milk command to get milk from cows. MILKABLE tag.
[ ] Readable items with actual text (letters, journals etc). READABLE tag.
[ ] Alignment system (from evil to good, based on your killings).
[ ] Store command aliases independently and let the player add and remove aliases.
[ ] Creatures will have a bloodAlcoholContent variable (% by volume).
[ ] AttackAlgorithms will account for insobriety.

Re #1: What about non-creature non-item world objects? Furniture comes to mind, though there are no 'civilized' areas yet, so more appropriately... pond, lake, tree(s), boulders, bushes... in the desert or wasteland, bones or boneyards... basically features in the world that are listed (descriptively) in the location's description, such that when it's put together it just sounds like a paragraph describing the local area, but is more fluid because, say, the order/content can vary.
This would be in addition to each location having a little base sentence that the other features build on. This then opens the door for, say, chopping down trees (CHOPPABLE tag?), fishing in lakes/ponds (or gathering water? WATER_FRESH tag?)
Also also this raises the question of an "examine " command. Instead of having a wiki with creature descriptions, have those descriptions be something that comes up when you examine an actual entity in the world. Then the location features can have more in depth descriptions, so that they can also be examined. I've played a lot of text adventures (for some reason) and, at least for me, running around examining literally everything was like 80% of the fun. I like to read, especially good writing.

I agree in some parts. Examining sounds OK and believable (if you look at the weather issue - that adds more realism itself - you'll see that trees are a plan). So you can get cherries from a bush and not always magically from the ground. But wiki entries will provide even more lore about stuff, such as mating habits, even though that is useless in the game as it is now.
Sure chopping, fishing and water gathering are interesting features. All should use tags, I believe.
Agriculture and construction could also be implemented in the future. Buildings with multiple levels, etc.
I don't know if I already wrote it here, but I want some hardcoded starting scenario, such as a Dungeon (guess why) where the character wakes and fights his or hers way out to the open randomly-generated world.

Yeah that's a good idea for wiki entries, more general lore/information, where examine just gives you a visual description of the thing.
Honestly I think the Dungeon idea should be a priority because it can give the game more of a sense of cohesion. Also if you're going to implement the one dungeon it would probably make sense to just implement 'Dungeons' in general--i.e. randomly placed randomly configured locations in the world that you fight through for loot. Currently there's not really any incentive to fight creatures, they don't threaten the player or stand in the way of gathering items. Probably need to implement creatures dropping items, too.

Have you any intention of broadening the combat to include multiple combatants? Dungeons where you only fight one enemy at a time (and the others, presumably stand waiting for their turn) probably wouldn't feel right.

Yes, I have already thought about all this, but we need to move slow and play safe.
The dropping mechanism (with bodies and butchering also) is closer to reality than the multiple combatants, however.
Maybe some 2x3 or 3x4 hardcoded dungeons placed underground will be made soon. How to store them, though? Randomly decide where there will be a dungeon entrance and write than dungeon below it?

Yeah I'll start looking at a drop mechanism. For corpses I'm thinking a type of item that is generated from a given creature, so creature resources will need to have weight values to be transferred to the corpse item upon generation. In the future, perhaps the corpse item could maintain a reference to the creature that produced it, in order to implement resurrections or an animate corpse type spell.
Also in the future, I think it would be ideal if corpses functioned along the lines of being an inventory, so that instead of dying creatures being pinatas of loot where everything suddenly falls out onto the floor, you actually have to search the body and pull items from it. Actually, scratch that. It would be annoying if, say, you wanted to collect a corpse but not the items the creature was carrying, and you had to loot/drop the items to get them off the corpse. Perhaps instead, creatures drop anything they're holding in their hands, and they need a backpack or other inventory item in order to hold more things, and they drop that backpack separately from the corpse item.
Anyways, I'm rambling. First things first, dying creatures vomit their inventories onto the floor!

I really do like to see someone else thinking about what the game should do at a stage such as v1.0.0, but I also do love baby steps.
"Yeah I'll start looking at a drop mechanism. For corpses I'm thinking a type of item that is generated from a given creature, so creature resources will need to have weight values to be transferred to the corpse item upon generation." - Feel free to open an issue for this.
"In the future, perhaps the corpse item could maintain a reference to the creature that produced it, in order to implement resurrections or an animate corpse type spell."
"Also in the future, I think it would be ideal if corpses functioned along the lines of being an inventory, so that instead of dying creatures being pinatas of loot where everything suddenly falls out onto the floor (LOL), you actually have to search the body and pull items from it." Absolutely. See this. If an elf scout were carrying a lot of elvish trinkets, he or she would likely be using a purse or something to store those.
"Actually, scratch that. It would be annoying if, say, you wanted to collect a corpse but not the items the creature was carrying, and you had to loot/drop the items to get them off the corpse." No. If a corpse had many items I think that the bags/backpacks would fall beside the corpse, not attached with it.
"Perhaps instead, creatures drop anything they're holding in their hands, and they need a backpack or other inventory item in order to hold more things, and they drop that backpack separately from the corpse item." - I was commenting as I was reading, now I see that I just repeated your words.
"Anyways, I'm rambling. First things first, dying creatures vomit their inventories onto the floor!" Would love to see that. You do know that before we must provide items to the creatures, right? Give the wolf some pelt and the orc an orcish sword. BTW, an orcish sword as something that could only be obtained from orcs would make killing foes less pointless. (While I am at this, have you ever checked the achievement command and the whole achievement system?) Would also make a nice weapon for an achievement, right?

I was just going over the creature code, actually. I had to switch to my laptop which means I'm installing IDEA and Git all over again. It looked like they have inventories, yeah? Are you saying there's just nothing actually in them currently?

Yes. If I were you I would write a simple useless (for now) item such as Wolf Pelt in items.txt and assign it to the wolf in creatures.txt. Creatures don't get items at creation now.

I see. Another thought: though a dummy item like "Wolf Pelt" is fine for this purpose, in the future I think it would be better to have a sort of 'body parts tag' list assigned to the creature, and no hard-coded "Wolf Pelt" at all, but instead have it work like the corpse works--generate the item from the creature. That way you don't have to go through writing out a Pelt resource for every single animal with a pelt, and also you don't have to link to a specific item in the creature resource.

Yes, but some specifics will be linked (such as which weapon a monster uses).
As we are starting with a simple drop system, anything should do the trick (for now).

Right on.

Anyway, in the end, it is really up to you (supposing that you will implement this). I'm just saying that you don't need to implement something more advanced than necessary.

Definitely, I'm just spitballing ideas.

In order to give creatures inherent inventories, I need to be able to clone the items from the prototype creature. Creatures can't carry item blueprints (right now), so I either have to create a CreatureBlueprint class from which creatures are created and have that carry item blueprints, or create a clone constructor for Items so that the prototype's items can just be cloned. Doing the clone constructor seems simpler but it sort of seems to invalidate the itemblueprint premise. Is there any particular reason why Item prototypes exist as a separate class (ItemBlueprint) but Creature prototypes are just cloned from a regular Creature? It seems here like it would be best to pick one and do it for both.
Also, I'm not sure... it looks like the ID class doesn't look for String equality, but object equality? Does that mean I can't do  itemBlueprints.get(new ID("SWORD"));  (just an example since the actual string would be an ID from the text resource) and have it work because it's looking for the specific Id object?

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    ID oid = (ID) o;

    return id.equals(oid.id);

  }

(new ID("Something")).equals(new ID("Something")) evaluates to true. Always. At least on my VM and if in yours it doesn't, it is bugged.

Have a look at line 35 of CreatureFactory. Create a creature from a model and then items to it there. Seems the best way to do it.
Maybe ItemBlueprint should not exist.

Right, but either the Creature's inventory has to serve as the model--meaning Items need a clone constructor (or they have to carry their own blueprints, which seems convoluted)--or the creature model needs to change somehow to incorporate a list of itemBlueprints.
My thinking is that ItemBlueprint should be axed and items should just be cloned from prototypes the way Creatures are. Then, I can easily duplicate the Creature's inventory by using it's inventory items as the prototypes.

As for the ID.equals() -- looking over it AGAIN I finally calculated that "id" is the reference to the value that my brain was failing to see. It's getting late here, I was just reading it as ID, I think.

I will get rid of ItemBP myself, if you don't mind. Do you plan to do something related to it right now or my time window is a bit larger?

As you prefer. I will probably go to bed soon, but I'm off tomorrow and would like to finish the creature drops and perhaps even the corpse and butchery stuff.

If you wrote something such as an ITEMS or INVENTORY (without probabilities, just a plain list of items) for all creatures and these items in the items.txt file I would do the rest gratefully. You don't need to create 3 different items for each creature, obviously. Some may not even get any item, it is fine for now.


[BUG] Swate asks twice for the file you want to upload when using Upload protocol function

Describe the bug
Swate asks twice for the file you want to upload when using Upload protocol function.
To Reproduce
Steps to reproduce the behavior:

Go to Templates tab
Click on Upload protocol
Choose your file
Swate asks again for the file

Expected behavior
Asks once.

What Excel version do you use? Because i cannot reproduce this bug.

Version 2205 (Build 15225.20288 Klick-und-Los).

Sry that is a bit too specific 😅  Excel desktop or online and excel2019/excel2021 or excel365?


pylon run problem

Hi,
I tried to run pylon with command :
bazel run -c opt cli -- doi 10.1056/NEJMoa2033700 --output article.pdf
But I got this error:
INFO: Analyzed target //nexus/pylon:cli (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //nexus/pylon:cli up-to-date:
bazel-bin/nexus/pylon/cli
INFO: Elapsed time: 0.525s, Critical Path: 0.02s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
ERROR: Cannot find key: doi
Usage: cli.py
available commands:    download
For detailed information on this command, run:
cli.py --help
After that I tried:
bazel run -c opt cli download -- doi 10.1056/NEJMoa2033700 --output article.pdf
but i still get error like this:
INFO: Analyzed target //nexus/pylon:cli (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //nexus/pylon:cli up-to-date:
bazel-bin/nexus/pylon/cli
INFO: Elapsed time: 0.192s, Critical Path: 0.02s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
File not found
ERROR: Could not consume arg: 10.1056/NEJMoa2033700
Usage: cli.py download doi 10.1056/NEJMoa2033700 --output -
For detailed information on this command, run:
cli.py download doi 10.1056/NEJMoa2033700 --output - --help

I have synchronized sources and updated docs for pylon. Let me know if issues would remain!


Added Team A (LEAAAAM Development Team) About Page.

Created a file team-a-about.md under ~/navigation/. Will task somebody with synthesizing the other two files which are expected shortly: ~/navigation/team-b-about.md and ~/navigation/team-c-about.md.

Synthesized all development team files into about.md.


DazTab change name

"DazTab Lite" is now called "DazTab", so all the name should be changed.

Changed in v0.2.8


I agree and namespacing :)

I needed namespacing so I added it and updated the autoloader. If you like my changes I'll submit a pull request (or you can merge them yourself)...
https://github.com/Feathur/minphp/commit/d3af4d3c698bd7dc80432ec6129cf06980ae45bd


Forms and Deploy

Try to deploy website and change the forms to every sections

All forms are updated with correct UI


Post process of authendication not render BOT automatially

Hi Team,
I use MS graph API project to test my BOT authentication. I updated app id and password and oauth connection string.
as per my understanding we don't wan to publish my local bot to Azure .. Now I ran application and clicked Login button and Bot has opened Login page and asked credential .
Post to success verification Auth window closed automatically . But my bot has not triggered LoginStepAsync or OnMessageActivityAsync either.
I understand this could be problem with redirect url which I provided in Azure AD app.
redirect URL : https://dev-antares-bot.azurewebsites.net/api/messages
this was explained in document so I added it alone.
then why BOT was not triggered? When I tested Oauth connection it was success and return token .
Should I add my BOt url in redirect URL? if yes it should be http://localhost:3978/api/messages or http://localhost:3978 . the project solution does not have any controller for auth.

same problem here!

Are you using the Emulator for testing?  There is an open issue on the Emulator repository related to this: https://github.com/microsoft/BotFramework-Emulator/issues/1544
If you check the 'Use a sign-in verification code for OAuthCards, the flow will work as expected:

This seems resolved. If no comment(s), we'll close this out next week.


Regarding React App

Can I generate a sitemap during the production build using this and submit to my hosting service using GitHub actions?

I'm not familiar with React so to answer your question I have a few questions:

Is React one of those frameworks where everything is generated with JS?
If so, is there a one to one relationship of source files to site urls?

Yes React is a framework where everything is rendered with JS
So, we use React routers to map them, So we create one file or keep them in the entry file to the project.
Yes I think, the file I mentioned earlier should be parsed.

Anyways there are some npm libraries those do the job in CLI, you might use them to create a GitHub action. Let me know if I could help further.

It sounds beyond the scope of this particular action. It would probably be relatively straightforward though to create a new action to generate sitemaps for react apps using something like, https://www.npmjs.com/package/react-router-sitemap, as a basis for the action (or something similar).


[explore-v2] add  component at the bottom of controlPanelsContainer for each vis.

@vera-liu completed this with https://github.com/airbnb/superset/pull/1647


chore: add tests for LazyCollection flatmap

Hello!
Closes #1704 as it's working as expected.
Thanks!

Thank you

We are moving so fast.


ImathTest: Fix build in mingw

Thanks for the fix! And also, please have a look at the CLA/DCO requirements the project has.

Please forgive me. I have opened the link that the bot provided. It opens a legal document of which I do not understand a single line. Also it asks too much of my personal information. I am not willing to give those information to a company just for this simple code change. Feel free copy my provided change here 🙏

Thanks for letting us know about your hesitation. I have created a bug report
https://github.com/AcademySoftwareFoundation/Imath/issues/233
where I give you credit for identifying the problem, so we can resolve the problem through the bug reporting mechanism.

Closing this, we will provide the fix in a separate PR shortly, thanks.


Copy to clipboard import button is not working

Hi, on WIP branch, building from source using npm, the "Copy to clipboard" button on the import page is not copying to clipboard the trakt.tv code.
I mean, this button ("Copiar al portapapeles" = "Copy to clipboard").

If I click it nothing is copied to the clipboard, the previous item will be pasted when using Ctrl + V shortcut on trakt.tv importing page.
EDIT: Okay, it seems that the issue happens only using Firefox. In chrome works as expected.

Now it should work in all browser

Now it should work in all browser

Fixed in firefox with last commit!


Fix SGR mouse reporting, report middle and right mouse and report modifiers

There was an issue with mouse clicks not working inside of htop which
was caused by incorrect SGR mouse reporting.
With normal mouse reporting the button codes 0/1/2 are used to indicate
which button has been pressed and button code 3 is used to indicate that
any button was released.
However in SGR mode the button codes are always 0/1/2 even when the
mouse is released (this is instead indicated through m/M at the end).
Alacritty was sending button code 3 whenever the mouse has been released
even in SGR mode, which is incorrect.
This has been fixed by only overwriting the button code on release
inside the normal mouse handling and always passing the exact button
code for mouse handling in general.
There were also a few inconsistencies with xterm.
In xterm before any mouse interaction is allowed, the normal mouse flag
always has to be set. If only SGR or MOUSE_MOTION is enabled, without
the normal mouse mode, nothing should happen.
When an application enables multiple things at once ([1006, 1000]), xterm
also enables both, alacritty only attempts to enable the first and uses
the second one as fallback.
Alacritty now adds all modes in the args array whith the 'h' flag and
removes all modes inside the array with the 'l' flag.
It also doesn't do anything with mouse motion or sgr mouse unless the
normal mouse support is also enabled.
This fixes #1142.

The latest change contributes two changes:

Mouse should work in vim/tmux again
Mouse modifiers should be reported

However mouse modifiers will still not work because xterm's terminfo does not allow for the ctrl modifier key. Alacritty will probably have to get its own termconfig, however when switching to something else like rxvt-unicode-256color, it should already work.

While I'm already at it I've also included reporting for middle and right mouse button.
This should not introduce any regression but some more testing might be needed.

I've had an issue that neovim sometimes scrolled down all the way to the bottom when I scrolled a single step. I think this has solved it! I cannot reliably reproduce the issue though so I will have to test for a few days.

If it still exists, please create an issue for it. I don't think I've heard that one before.

Sure if I notice it again I can report it. But I don't feel very helpful reporting a bug that I cannot reproduce reliably. I think I saw a report once about it somewhere but I can't find it now. Maybe it wasn't in an issue but on reddit or somewhere else..
I think you might have solved multiple reported issues with this PR. Here are a few mouse related:
https://github.com/jwilm/alacritty/issues/433
https://github.com/jwilm/alacritty/issues/714
https://github.com/jwilm/alacritty/issues/803

Seems like I've accidentally reimplemented #1057 :)
Maybe we can put these two together.

I'm going to send a PR to @Celti in #1057 to merge these two PRs together.


Adding why data for reported posts.

Warning: untested!
Per Braiam's feature request, The !!/why command will now tell who manually reported a post and in what forum.

Darn it; I thought i did a global search. :(

I did.  GitHub's web search only shows the "top 2" matches.  Grrrr.

@Undo1, Sorry about that.  GitHub's web search only showed 2 hits for handle_commands and I didn't think to double check that. :(
If I do much more of this, I'll recreate a proper Python dev environment on my local machine.


(Android / multi-threading) Invalid memory access

Source code
channel = Channel(Int32).new

def fib(n)
  if n < 2
    return 1
  end
  return fib(n-2) + fib(n-1)
end

spawn do
  channel.send fib(34)
end

puts fib(34)
puts channel.receive

Error Message
Error while trying to determine if a stack overflow has occurred. Probable memory corruption
Invalid memory access (signal 11) at address 0x28
[0x300005c3ac] *Exception::CallStack::print_backtrace:Nil +100 in ./withmt
[0x30000503ac] ~procProc(Int32, Pointer(LibC::SiginfoT), Pointer(Void), Nil) +312 in ./withmt
[0x3f0004cde4] __setjmp +56 in /lib/ld-musl-aarch64.so.1
[0x3f0005c090] pthread_getattr_np +36 in /lib/ld-musl-aarch64.so.1
localhost:~#

Environment
Android, Termux, proot-distro Alpine Linux
Linux localhost 5.4.0-faked #1 SMP PREEMPT Tue Jul 26 22:53:35 CST 2022 aarch64 Linux

I originally mentioned this problem here #12509 then the problem seems to be fixed, so I closed the issue

I cannot reproduce this on Termux, however instead of using proot-distro I cross-compiled Crystal directly.

I cannot reproduce this on Termux, however instead of using proot-distro I cross-compiled Crystal directly.

Guess what, I just ran the binary without any change or upgrades
~ $ proot-distro login alpine
localhost:~# ls
mt.cr   nomt    withmt
localhost:~# ./withmt
9227465
9227465
localhost:~#

Simply opened Termux,  loged in to proot-distro, ran the binary, and the error was gone
Schrödinger's error message?

localhost:~# crystal build -Dpreview_mt -o withm
t_2 mt.cr
localhost:~# ls
mt.cr     nomt      withmt    withmt_2
localhost:~# ./withmt_2
Error while trying to determine if a stack overflow has occurred. Probable memory corruption
Invalid memory access (signal 11) at address 0x28
[0x300005c3ac] *Exception::CallStack::print_backtrace:Nil +100 in ./withmt_2
[0x30000503ac] ~procProc(Int32, Pointer(LibC::SiginfoT), Pointer(Void), Nil) +312 in ./withmt_2
[0x3f0004cde4] __setjmp +56 in /lib/ld-musl-aarch64.so.1
[0x3f0005c090] pthread_getattr_np +36 in /lib/ld-musl-aarch64.so.1
localhost:~#

And now it's working again, full report:
localhost:~# crystal build -Dpreview_mt -o withm
t_2 mt.cr
localhost:~# ls
mt.cr     nomt      withmt    withmt_2
localhost:~# ./withmt_2
Error while trying to determine if a stack overflow has occurred. Probable memory corruption
Invalid memory access (signal 11) at address 0x28
[0x300005c3ac] *Exception::CallStack::print_backtrace:Nil +100 in ./withmt_2
[0x30000503ac] ~procProc(Int32, Pointer(LibC::SiginfoT), Pointer(Void), Nil) +312 in ./withmt_2
[0x3f0004cde4] __setjmp +56 in /lib/ld-musl-aarch64.so.1
[0x3f0005c090] pthread_getattr_np +36 in /lib/ld-musl-aarch64.so.1
localhost:~# ./withmt
9227465
9227465
localhost:~# ls
mt.cr     nomt      withmt    withmt_2
localhost:~# ./withmt_2
9227465
9227465
localhost:~#

localhost:~# ls
mt.cr     nomt      withmt    withmt_2
localhost:~# crystal build -o whatever.exe -Dpre
view_mt mt.cr
localhost:~# ./whatever.exe
9227465
9227465
localhost:~# ls
mt.cr         whatever.exe  withmt_2
nomt          withmt
localhost:~# ./whatever.exe
Error while trying to determine if a stack overflow has occurred. Probable memory corruption
Invalid memory access (signal 11) at address 0x28
[0x300005c3ac] *Exception::CallStack::print_backtrace:Nil +100 in ./whatever.exe
[0x30000503ac] ~procProc(Int32, Pointer(LibC::SiginfoT), Pointer(Void), Nil) +312 in ./whatever.exe
[0x3f0004cde4] __setjmp +56 in /lib/ld-musl-aarch64.so.1
[0x3f0005c090] pthread_getattr_np +36 in /lib/ld-musl-aarch64.so.1
localhost:~# ./whatever.exe
Error while trying to determine if a stack overflow has occurred. Probable memory corruption
Invalid memory access (signal 11) at address 0x28
[0x300005c3ac] *Exception::CallStack::print_backtrace:Nil +100 in ./whatever.exe
[0x30000503ac] ~procProc(Int32, Pointer(LibC::SiginfoT), Pointer(Void), Nil) +312 in ./whatever.exe
[0x3f0004cde4] __setjmp +56 in /lib/ld-musl-aarch64.so.1
[0x3f0005c090] pthread_getattr_np +36 in /lib/ld-musl-aarch64.so.1
localhost:~# ./whatever.exe
9227465
9227465

I cannot reproduce this on Termux, however instead of using proot-distro I cross-compiled Crystal directly.

Maybe try to run the compiled binary multiple times and you'll get the error message for at least once (just like what happened to me?) It's weird 😯

Tried PRoot-distro with Alpine Linux, still couldn't reproduce it with Crystal 1.7.2.
Linux localhost 5.4.0-faked #1 SMP PREEMPT Fri Nov 25 06:38:49 UTC 2022 aarch64 Linux

Duplicate of #8738


Add endpoint to publish ingestion

Ticket Link #889
Description
There currently isn't an endpoint for publishing a draft ingestion. This PR refactors out the function that publishes (via brook event) so it's less closely tied to the button in andi, and then calls it when a specific endpoint is hit.
Reminders:

[ x Be mindful of impacts of changing Major/Minor/Patch versions of each elixir app

[x] If updating patch version, are you sure there are no chart changes required to maintain functionality? If so, you should bump minor version instead.
[x] If updating Major or Minor versions , did you update the sauron chart configuration?

[x] If changing elixir code in an "app", did you update the relevant version
in mix.exs?
[x] If altering an API endpoint, was the relevant postman collection updated?


 Sorry! So I've built the app and can access it via the webpage. I've successful added my playlist and can see channels and their metadata however when ever I select anything I just get a black box with three circles like it's trying to load but nothing starts. This happens on anything that I select. I also see a page 404 error when I select settings. Any assistance greatly appreciated.

Channels that provide an HTTP streaming URL will not play directly on HTTPS due to the Mixed Content Security Policy. This means you can stream them from localhost or use them in a web-based mobile or desktop application. However, you can utilize an HTTPS proxy to overcome this limitation. You can find more information on this topic here.
Channels with CORS disabled will also not play. Browsers prevent requests to URLs with CORS disabled. To learn more about CORS, please refer to this resource. While you can use a browser extension to bypass CORS for testing purposes, I strongly advise against doing so, as it can compromise the browser's security. Please refrain from this practice.
I will integrate a playback error message in the player and remove the settings route in a future update.


Add direct link to InMemoryCheckstore.java

@kartben : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @kartben
PMs and content developers should work in the private repositories as described in Should I work in a private or a public repo?
In the private repos, your content gets the benefit of quality validation, and you can verify it on staging before publishing. You can sign off on your PRs directly, and some PRs that have fewer updates might qualify for auto-merge.
(If you want a member of the content team to review your updates in the private repo before merging, you can request a review or at-mention them in a comment before you sign off. See GitHub for content reviews.)
We'll keep this PR for review as-is, but would you create future pull requests in the private repo? Thank you

@ktoliver  I had no idea about the process for dealing with the private repos directly. I'm happy to re-create my PR that way so will close this one (esp. since I just identified other inconsistencies around this page anyways, and how it's being improperly linked to in some cases)
Thanks!

@kartben Sure thing! Thank you.


Update edit-app-settings-host-settings.md

deference ---> reference
It seems as a typo.. (Isn't it?)

#sign-off


Mobile menu

Changes

Update the navigation bar in the index.html file
Update the navigation bar style in the styles.css file
Add a JavaScript file called script.js
Linked the script.js to the index.html file

Additional Info
Checklist before requesting a review

[X] No linters error
[X] Followed the GitHub flow
[X] documented professionally
[X] Followed the HTML and CSS best practices
[X] Followed the JavaScript best practices
[X] The mobile menu appears when the user clicks (or taps) the hamburger button.
[X] When the user clicks (or taps) the close (X) button, the mobile menu disappears.
[X] When the user clicks (or taps) any of the mobile menu options, the mobile menu disappears.
[X] When the user clicks (or taps) any of the mobile menu options, a correct part of the page is displayed.

Hi @SulimanJoya and @MNisarAli, kindly use the updated version  of the microverse readme template for your readme, this is a requirement to get a review 👍🏿

This is
the JavaScript liner file


Add new static files to packaged data

Changes
Fixes failing release workflow (https://github.com/contrailcirrus/pycontrails/actions/runs/9193801117)
Internals
Add static files with ECMWF model levels and model-level ERA5 RHI quantiles to packaged data.
Tests

[ ] QC test passes locally (make test)
[ ] CI tests pass
[ ] Release workflow passes

Reviewer

@mlshapiro

Sorry, didn't mean to prompt you to review yet! I still need to make a few more changes (related to https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror)


Create better automation for nr1 apps

Create a GitHub action that can be added to NR1 app repos which, on a commit to the release branch (master or main):

[x] checks out a branch of THIS repo
[x] updates that branch's submodule to the latest release hash of the given NR1 app
[x] submits a PR for a specific commit of that branch to THIS repo's release branch (currently master)

The objective is to automate the release process for permissioned apps (especially NR-owned apps)

This was done as a part of releasing newrelic/nr1-catalog-manager


nimPreviewHashFarm breaks concatenation test

The error more specifically is this one:
tests/test_ziparchives_read.nim(46, 5) `entry == entries[numEntries]`

I don't understand why zip file catenation would depend upon string hasher order, but it is one of a couple things holding up activating nimPreviewHashFarm by default.  So, if you could look into it soon, that would be awesome.

The issue here is that the test assumed the Table order was stable, but really I should use OrderedTable. I'll have a fix for this tagged in a little bit.

Tagged in https://github.com/guzba/zippy/releases/tag/0.10.14

Thanks, for the quick work, man, esp. for the rapid release tag.


Remove the Stray lines

Please remove this git head from the page
"https://colorlib.com/polygon/gentelella/form.html"
"<<<<<<< HEAD ======= >>>>>>> refs/remotes/puikinsh/Development"

Duplicate of #433

As I do not see this on http://gentelella.ilrysfun.com/form.html I suppose that this issue is related to the website not the repo :thinking:

My Bad :( yup this issue was related to the website... thank you for resolving it...


[validation] Allows empty spec.config

According to the spec section 3.4.1 we can allow an empty spec.config field in order to pick up on-disk configurations with the specified name.
This change removes the gate on netAttachDef.Spec.Config == "" and instead allows it, outputting an informational log message stating that it passed an empty config through.
I proved out the changes using these two specs:
cat <<EOF | kubectl create -f -
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: empty-conf
spec:
  config: ''
EOF

cat <<EOF | kubectl create -f -
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: empty2-conf
EOF

Looks good to me, thanks!


BREAKING CHANGE: Add support for sorting on get deployments

This change is needed for https://github.com/decentraland/catalyst/issues/210

:tada: This PR is included in version 2.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Investigation] Improve Reactive Forms Experience

A number of developers have asked if the ngrx organization would be willing to develop and maintain a reactive forms library for Angular.
Please use this ticket to report either A) usability issues with the existing reactive forms API found in @angular/forms, or B) present use cases that are not covered by @angular/forms.
Consider this step one in the design process of @ngrx/forms.
cc @DzmitryShylovich @brandonroberts @fxck @jhuntoo

Thanks for opening this. I'll get to it over the weekend. I have to refresh my memory for all the situations I encountered that I thought ngrx/forms would have helped with.

@fxck I'm also doing a lot of form intensive development over the next month. Let's capture as many issues here in that time period and work on a design for potential solutions after that.

@MikeRyan52 added couple of things I remembered and couple of question I had written down from a couple of months ago

Hello everyone.
@fxck That is a good list of issues to think about.
Since ngrx tools combines rxjs and redux, I reviewed the redux side of the upcoming @ngrx/forms by reading the docs of redux-form which seems to be popular in the React community (http://redux-form.com/). I then made a gist in which I attempted to write pseudo Angular code that imitates the way redux-form work. Of course, the core of redux-forms was left as "magic" because the code is heavily based on React. That core I believe is where Rxjs will come into play for @ngrx/forms.
Here is the gist: https://gist.github.com/abdulhaq-e/b0abc305c16f6c14b499ccfcd56459ed

@MikeRyan52 Excited about this idea as well! If there's anyway I can help chip in, let me know!

Would love to see this!

Adding interest was redirected here by an issue I added to store.
Happy to help if I can.

Complicated forms are the major pain point for my app, and it's most important feature (case management for schools, hundreds of fields across many forms, with complex conditional display and validation).  While ngrx has been a boon for all other parts of my app, it hasn't helped much with my forms, which remain a highly stateful, custom, and untested mess.
I can best sum up my pain like this: It's difficult (and maybe silly) to put angular's reactive form state into the store, but I many times need to extend that state with additional data in order to render my view.  I.e disable and hide this field when a second field has a specific value; change the options of the 'State/Province' field when 'Country' is changed...
I'd be very interested in helping create and using a solution that allows writing the rules to my forms be as simple and testable as ngrx makes selecting data for the view.

I think @MikeRyan52 is currently a bit busy with work, what would help is if you all who said would be interested in this project described your use cases or issues you have with @angular/forms(unless they are 1:1 with what someone else already wrote). The more the better.

@fxck Your writeup had a lot of my pain points but I will try to add some more, with the main focus being the reactive forms section.
The default @angular/forms library essentially creates it's own state of the formGroup/array where the status and validity of your form lives. So if you want to put any of this into the store, you're working with statusChanges and valueChanges, submitting actions for each and reducing them. But the form will always be referencing it's own controllers, not the state. So the truth isn't in the store, but in the formGroup.
I haven't found a way to use 3rd party components built in angular (angular material, clarity, etc) because they aren't build with the idea of putting relevant information into the store. I've pretty much given up on full featured solutions and just implemented the individual ones I need, and using semantic to style. If a 3rd party component library was built off of ngrx/forms, with the ability for it to work for projects not using ngrx, then ngrx can get a big push with having the broader angular community working with it rather then creating incompatible packages (this idea is fully thought out, maybe I'll try to code something up this weekend).
Forms is definitely a struggle point when implementing ngrx for a form intensive app. I was planning on building something like a ngrx/forms, but work has taken too much of the time.

I haven't found a way to use 3rd party components built in angular (angular material, clarity, etc) because they aren't build with the idea of putting relevant information into the store.

Tell me about it, the concept of stateless components seem to be alien to almost everyone in the angular world, I'm trying to get ngrx/store friendly dialog component in material2 as we speak(https://github.com/angular/material2/pull/2853#discussion_r98515217). Dialog is one of the components where it makes the biggest sense, but it would be handy in other components as well, like the sidenav(https://github.com/angular/material2/tree/master/src/lib/sidenav)

Sounds great!

Thanks guys for raising the issue, I find myself doing a lot of busy work to connect and ngrx to the form and would love to assist in this new path...
I am wondering what is the current best practice until a full blown solution is adopted?
Is this what users are doing in the meanwhile ?
@Component({
  template: `<router-outlet [form]="form" [data]="data$ | async"></router-outlet>`
})
class SmartComponent {
  public data$ = this._store.let(someSelector$());

  public form = new FormGroup({
   foo: new FormControl(''),
   bar: new FormControl('')
  });

  constructor(private _store: Store<IState>) {}
}

@Component({
  template: `
    <form [formGroup]="form">
      <input type="text" formControlName="foo" />
      <input type="text" formControlName="bar" />
    </form>
  `
})
class DumbComponent {
  @Input()
  public form: FormGroup;

  @Input()
  set data(v) {
    if (v) {
      this.form.patchValue(v);
    }
  };
}

Regards,
Sean

@born2net That's exactly what I do (except that I haven't seen data passed to `routerOutlet before) and I tend to use ng2-dynamic-forms to generate the form.

ok tx!

Hi,
Happy to see I am not the only one having doubt on how to best deal with form data coming from the store. :) And having to put back to the store the data from the forms.
Here is how we deal with the problem, I would really appreciate advice is the solution does not seem to adhere to the redux way of doing :)
@Component({
    selector: 'my-component',
    template: `
        <form [formGroup]="userForm" (ngSubmit)="saveUser()">
            <input formControlName="name">
            <input formControlName="lastname">
            <button type="submit" >Save</button>
        </form>
    `
})
export class MyComponent implements OnInit {
    private user: User;

    constructor(private store: Store<State>) {}

    ngOnInit() {
        this.store.select(stateSelector)
                    .take(1)
                    .subscribe((user) => this.user = user);

        this.userForm = this.fb.group({
            name: [this.user.name, Validators.required],
            lastname: [this.user.lastname, Validators.required],
        });
    }

    // Called on submit to update the store
    saveUser() {
        this.store.dispatch({type: 'UPDATE_USER', payload: this.userForm.value})
    }

I am one of those who had a hard time implementing debouncing inside custom async validators, without succeeding.
One other issue that is not clear for me is how to treat exceptions inside async validator functions.
What is the object or value I am supposed to return from the catch method, which is of ObservableInput<{}> type.
I get this warning on Visual Code when I try to insert the catch method on the observable chain, because I don't know exactly what the ObservableInput instance should come from:
Argument of type '(err: any, caught: Observable<{ [key: string]: any; }>) => void' is not assignable to parameter of type '(err: any, caught: Observable<{ [key: string]: any; }>) => ObservableInput<{}>'.   Type 'void' is not assignable to type 'ObservableInput<{}>'.
The code excerpt (debounce is not working this way, but that's a separate issue):
// Async validator for username
public forbiddenUsernameValidator(): AsyncValidatorFn {
    return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {

        // Get username from control
       let username = control.value;

        return this.userService.validateUsername(username)
            .catch((err: any, caught: Observable<{ [key: string]: any } | null>) => {
	         // I would like to handle 400 or 500 errors here but I don't know
	         // what do I have to return here???
             })
            .debounceTime(1000)
	    .distinctUntilChanged()
	    .first();
	}
    };
}

I think it will be easier to assist if someone will write a design document for the requirements.

related http://stackoverflow.com/questions/43217078/angular-redux-ngrx-state-update-vs-forms

Hi, I was wondering what movement there was on this and how to best help?

Do we have any more info on some basic design specs? I know @fxck said he saw an early document of it. If anyone has started something, or atleast has spent some time thinking through the design specs I'd love to get started working on it. I just know that this is quite large and there's a lot of parts that can go into it. So if we have a design spec to build off of to get a MVP, then maybe this community can start building out the pieces.

Any news regarding this ? Right now I'm moving my application to ngrx and I really have troubles keeping the form state especially with DatePicker control for example the date picker input allows the used to insert values and it sends the value using onChangeCallback however this will trigger my store update and the store will update the component right when the user is typing, I will be willing to help with the implementation of reactive forms for ngrx I just don't have a good idea about how to use them with material design component, I need to decuple value change from write value some how. cause right now my date picker emits a value the store gets a new state the new state updates the form model and so on. Right now for any form I have I'm not able to create new state I mutate the state for that specific form which does not respect the over all pattern. Anyone has time to start a implementation I could help.

What's happening with this? I am very intersted.

I found this approach interesting. Still needs a little tweaking to fit exact needs but is a great starting point.
https://netbasal.com/connect-angular-forms-to-ngrx-store-c495d17e129

Not really. It doesn't really solve any of the problems mentioned in this issue.. The problem is that angular forms are "flawed" from the beginning.

Reactive forms are always better since they are.. reactive. Recent changes in angular forms make it a little easier to just create some sort of bridge, but I still think ngrx/forms would be better solution. I couldn't quite get in touch with @MikeRyanDev to check what's their latest opinion on this.

Recent changes in angular forms make it a little easier to just create some sort of bridge
can you write a little about what changes you are talking? :)

So I understand that reactive Angular forms are recommended to be used with ngrx  (instead of template-driven Angular forms). The recommendation comes from @fxck two comments up.
Now the question is how to use reactive Angular forms with ngrx. For angular-redux there is angular-redux/forms with a brief description on how it enables us to keep forms state in redux store.
I found this (not tried yet) article describing how to use reactive Angular forms with ngrx: https://netbasal.com/connect-angular-forms-to-ngrx-store-c495d17e129
Would you recommend using the approach or are there any other approaches/guides?

@marcelnem The link you posted may not solve all your problems. For example, it initializes the form from the store, but any subsequent change will not be taken into effect (the .take(1)).
I haven't tested without it but you may face circular calls (i.e. you update the store, which updates the form, which updates the form etc.).
Has anyone tackled this problem ?

@szebrowski https://github.com/angular/angular/pull/18577 and afaik there's something in works for https://github.com/angular/angular/issues/6895 as well
@marcelnem there's currently no lib that syncs forms state to the store, which is what this issue was created for.. what is described in that article barely scratches the surface..

I've been working in a project that makes heavy use of forms. Since there was no proper solution available I've built my own version of @ngrx/forms (or rather I built two since version 1 was only a rough first draft trying to re-use reactive forms).
The project is very much still WIP, but I'd be happy if some of you could have a look and tell me your thoughts of whether this has any merit. Since I didn't get around to documenting this properly yet, I'll quickly outline the current state and open points below.
The general idea is to have the complete form state in the store, including all the flags like isDirty etc. Updates to the state therefore happen fully through reducers (which makes testing a breeze). There is one single directive so far, applied via [ngrxFormControlState]. With this directive I am completely side-stepping the whole template or reactive forms and I am only using some basic infrastructure of @angular/forms, namely the ControlValueAccessor mechanism. The directive is responsible for dispatching the proper actions to update the state. And of course it is always possible to manually update the state by dispatching actions on your own.
The reducers automatically recompute the whole state tree, i.e. if a parent group is disabled, all children get disabled, if a child is marked as dirty, all parents are marked as dirty etc. The group reducer also dynamically creates and removes child states based on the current value of the group which makes it very easy to add and remove controls. Have a look at the reducer.spec.ts to see all the scenarios covered.
The two missing things are:

another directive to track form submission state
validation infrastructure (however, this can in fact already be achieved via effects that subscribe to form state updates and set the errors via an action)

Please let me know your thoughts.
Usage examples:
reducer.ts
import { createFormGroupReducer } from '@ngrx/forms';

export interface MyFormValue {
  someTextInput: string;
  someCheckbox: boolean;
  nested: {
    someNumber: number;
  };
}

export const FORM_ID = 'some globally unique string';

export const myFormReducer = createFormGroupReducer<MyFormValue>(FORM_ID, {
  someTextInput: '',
  someCheckbox: false,
  nested: {
    someNumber: 0;
  },
});

component.ts
import { FormGroupState } from '@ngrx/forms';

@Component({ ... })
export class MyComponent {
  formState$: Observable<FormGroupState<MyFormValue>>;

  constructor(private store: Store<RootState>) {
    this.formState$ = store.select(s => s.path.to.form.state);
  }
}

component.html
<form novalidate>
  <input type="text"
         [ngrxFormControlState]="(formState$ | async).controls.someTextInput">

  <input type="checkbox"
         [ngrxFormControlState]="(formState$ | async).controls.someCheckbox">

  <input type="number"
         [ngrxFormControlState]="(formState$ | async).controls.nested.controls.someNumber">
</form>

Alright, I've implemented form submission tracking. I've also created an example application that showcases how the library manages form states.

So, I've finally gotten around to releasing v1.0.0 of ngrx-forms. You can get the library on npm via
npm install ngrx-forms --save

See the readme for a detailed user guide.

@MrWolfZ I don't think you should need to manually add any reducer. You should simple add formsReducer to your root reducer (similarly how ngrx/store-router does it) and the rest should be completely handled by the lib.

I'm surprised nobody has mentioned this, so perhaps I'm missing something.  If you want Store changes to update the form, I don't think can use any FormArrays with ReactiveForms.
The problem is that to you need to bind outgoing changes from the form to store events, and incoming store changes to patchValue the store.  To prevent an infinite loop, you must use patchValue(formModel, {emitEvent: false}) to prevent the patch from emitting another valueChange.
However, to update a FormArray, you have to use setControl.  I haven't been able figure out how to either disable setControl from emitting a valueChange or a reliable way to filter out the offending event.  A minimal sort of thing that would fix this is to either add an options param to setControl give it parity with patchValue or just make patchValue work on FormArray.
FormArray in general is kinda nasty.  Everything you've learned about ReactiveForms doesn't quite work the same way with FormArray.  It's like it's not even part of ReactiveForms at all.  Plus, the abstract types on FormArray are impenetrable, so you get no useful type hints or autocompletion even in VS Code.

To prevent an infinite loop, you must use patchValue(formModel, {emitEvent: false})

Careful with that, we found it causes issues with material2 components (placeholders don't move, etc).  We ended up creating a diff object between the store and the current form values and then (if it's not empty) using that with patch value and emitEvent true.


Uncaught TypeError: Cannot read property 'trim' of undefined

My application based on Polymer-PSK+ and ES2015. Using my distributed version of the application I'll receive the following error:
Uncaught TypeError: Cannot read property 'trim' of undefined (elements.js line 5832)

The reason for this is due to 'missing' properties of Polymer paper-input-container-underline element, see:

The assignment to properties[m[1]] fails due to (m[2] || m[3]).trim();:
m[2] = ""
and m[3] = undefined

Any hints how to solve this problem and how to use the distributed version of my application?

What is distributed version?

Sorry! Distibuted version means vulcanized version of the project

Do you have latest version node, bower and npm? Delete cache of packages...

https://gist.github.com/bab4fce0ac19f31bbfa8

I am creating new template... Check out this repo https://github.com/StartPolymer/progressive-web-app-template


Provisioning resources via Terraform

I wish the "Run on Google Cloud" allowed me to provision and configure GCP resources in a declarative way, and using a Terraform template seem very appropriate.
Take the example of https://github.com/sethvargo/gcr-cleaner: it needs 2 service accounts, some specific IAM permissions, one Cloud Run service, one Cloud Scheduler job. This could be done via a sequence of gcloud commands, but it could also be done using Terraform.

I tried it out: https://github.com/boardingparty/backend_gcp
On issue it that the button assumes you want to standup a Cloud Run service, which in the case of running terraform we don't (its a batch process).
Still! I like the idea a lot.

This is cool:- https://github.com/boardingparty/minecraft_gcp

Woah! Nice work!

@tomlarkworthy it seems like it's not really deploying a Cloud Run app? so that could be a little weird/odd for your users. Have you thought about directly integrating with Open in Cloud Shell?

We should look further into a generalized "Cloud Shell Button" that can be used for non-Cloud Run use cases.  :)

Yes the cloud run button image is a bit misleading, should be Run in Cloud Shell really. I could change the graphic on the button, but Google supplied that one. Another option would be my own "Boarding Party" one.
I have no users, this was just fooling around, but it worked out so I will try promoting next weeks or so. I am open to suggestions on what you think the graphic should be. The current Cloud Run button promotes your source engineering better so maybe you prefer keeping it as is? I am ambivalent and open to suggestions.
I think this exercise shows a more generalised Button is very useful. Terraform is such a great tool. Cloud run is awesome, but it's usually just 1 thing inside are larger organism (database, reverse proxy, pubsub, cloud scheduler etc.) The Cloud Run buttons scope is too narrow, you can't build rich apps in a single stateless container, it's UX power is limited. With Terraform you can provision everything, even stuff on 3rd party services (e.g. GitHub hooks, imaging adding CD via a merge)!

The button says "Run on Google Cloud", it does not say "Deploy to Google Cloud Run".
So the button is 100% compatible with deploying o other places than Cloud Run. I always imagined that the button would be able to do more than Cloud Run deployments.

you put terraform state in a storage bucket (https://github.com/boardingparty/minecraft_gcp/blob/master/boardingparty/install/sync#L5). By all means close because you don't want to put resources into it, but your reasoning as written doesn't make any engineering sense.

you put terraform state in a storage bucket (https://github.com/boardingparty/minecraft_gcp/blob/master/boardingparty/install/sync#L5). By all means close because you don't want to put resources into it, but your reasoning as written doesn't make any engineering sense.


📎 Implement lint/useElseIf - eslint/no-lonely-if

Description
no-lonely-if

I would suggest a name similar to clippy: https://rust-lang.github.io/rust-clippy/stable/index.html#collapsible_else_if

Why not useCollapsibleElseIf? 😮

Because collapsible highlights a capability (can be collapsed). Maybe it is ok? Otherwise, I am thinking about useCollapsedElseIf?

Implemented in #160

Implemented in https://github.com/biomejs/biome/pull/160


Maintain banner in minified file

This got lost when switching to Webpack 4

That's correct, thanks a lot @realityking!


Exception from forestDB during updateIndexes()

03-15 16:25:55.604 5342-5391/com.sparkup.device E/Query: Exception caught in runAsyncInternal
   com.couchbase.lite.CouchbaseLiteException: ForestException{domain=2, code=-39}, Status: -39 (HTTP 500 Internal error)
       at com.couchbase.lite.store.ForestDBViewStore.updateIndexes(ForestDBViewStore.java:283)
       at com.couchbase.lite.View.updateIndexes(View.java:321)
       at com.couchbase.lite.View.updateIndex(View.java:294)
       at com.couchbase.lite.Database.queryViewNamed(Database.java:2092)
       at com.couchbase.lite.Query$2.run(Query.java:483)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)
    Caused by: ForestException{domain=2, code=-39}
       at com.couchbase.cbforest.Indexer.iterateDocuments(Native Method)
       at com.couchbase.cbforest.Indexer.iterateDocuments(Indexer.java:18)
       at com.couchbase.lite.store.ForestDBViewStore.updateIndexes(ForestDBViewStore.java:250)
       at com.couchbase.lite.View.updateIndexes(View.java:321)
       at com.couchbase.lite.View.updateIndex(View.java:294)
       at com.couchbase.lite.Database.queryViewNamed(Database.java:2092)
       at com.couchbase.lite.Query$2.run(Query.java:483)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)

Note to self:
It seems multi-threading issue.
        /**
         * DB handle is being used by another thread. Forestdb handles must not be
         * shared among multiple threads.
         */
        int FDB_RESULT_HANDLE_BUSY = -39;

I guess this exception happened in the case there is an extensive writes to the database while there are push replications in the background.

Get the same error on another lines:
com.couchbase.lite.CouchbaseLiteException: ForestException{domain=2, code=-39}, Status: -39 (HTTP 500 Internal error)
at com.couchbase.lite.store.ForestDBViewStore.updateIndexes(ForestDBViewStore.java:283)
at com.couchbase.lite.View.updateIndexes(View.java:321)
at com.couchbase.lite.View.updateIndex(View.java:294)
at com.couchbase.lite.Database.queryViewNamed(Database.java:2055)
at com.couchbase.lite.Query.run(Query.java:433)

compile 'com.couchbase.lite:couchbase-lite-android:0.0.0-618'
compile 'com.couchbase.lite:couchbase-lite-android-forestdb:0.0.0-618'

Hi @orenyodfat and @malarky,
Could you please provide more detailed information? How doe you call query? from multiple threads? Also how many views that your app has? Do they have same prefix name?
Thanks!

@snej please review with @hideki

C4Indexer doesn't lock the mutexes of the C4Views it's indexing, so there is potential for the views to be called from multiple threads. I'll fix that.

I have a PR in CBForest that may fix this; it adds some missing thread safety to C4Indexer (as mentioned above) and also to C4QueryEnumerator.

From code point of view, PR looks fine.
Once CBL Android/Java adapts the latest master branch of cbforest (https://github.com/couchbase/couchbase-lite-java-core/issues/1057), I will run unit test with fix/view_thread_safty. Then I will merge this PR.

Fixed in cbforest.
PR: https://github.com/couchbaselabs/cbforest/pull/75

Exception caught in runAsyncInternal
                                                                 com.couchbase.lite.CouchbaseLiteException: ForestException{domain=2, code=-39}, Status: -39 (HTTP 500 Internal error)
                                                                     at com.couchbase.lite.store.ForestDBViewStore.updateIndexes(ForestDBViewStore.java:283)
                                                                     at com.couchbase.lite.View.updateIndexes(View.java:321)
                                                                     at com.couchbase.lite.View.updateIndex(View.java:294)
                                                                     at com.couchbase.lite.Database.queryViewNamed(Database.java:2057)
                                                                     at com.couchbase.lite.Query$2.run(Query.java:483)
                                                                     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
                                                                     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
                                                                     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                     at java.lang.Thread.run(Thread.java:818)
                                                                  Caused by: ForestException{domain=2, code=-39}
                                                                     at com.couchbase.cbforest.Indexer.iterateDocuments(Native Method)
                                                                     at com.couchbase.cbforest.Indexer.iterateDocuments(Indexer.java:18)
                                                                     at com.couchbase.lite.store.ForestDBViewStore.updateIndexes(ForestDBViewStore.java:250)

This is still occurring when using forestdb (not happening with sqlite)
compile 'com.couchbase.lite:couchbase-lite-android:1.2.1'
compile 'com.couchbase.lite:couchbase-lite-android-forestdb:1.2.1'

Hi @seshachalam-imaginea,
Thank you very much for reporting the bug.
With 1.2.1, CBL Android/Java has multi-threading issue with ForestDB storage.
We fixed multi-threading issue between view/query and other database operation.
If you have time, could you please try 1.3.0-43 build, which is RC for 1.3.0?
http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-android/1.3.0-43/
http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-android-forestdb/1.3.0-43/
If 1.3.0-43 does not solve the issue you encounter,  could you please try 1.3.0-45 build ,which has fix of concurrent multiple queries issue with ForestDB.
Note: fix for 1.3.0-45 will not be in 1.3.0, this should be in next version.
http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-android/1.3.0-45/
http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-android-forestdb/1.3.0-45/
Thanks!
Hideki

Will try with both the versions and update here. When will this 1.3.x be released ?

1.3.0 will be released soon if no release blocking issue is not found by then.

I have not seen this issue with 1.3.0-43. thanks


Add a project-specific "session"

One of my favorite features in Sublime Text is the fact that projects have their own session/workspace area which automatically tracks unsaved changes, unsaved files, and open tabs. The benefit is that I can close a window (or switch projects) with unsaved files/changes, without any warnings or confirmations — the changes are simply re-applied when I re-open the project.
Combined with the "Close Current" option (and #18), this makes for a super elegant workflow when switching between projects-

:+1:

:+1:
This is the number one issue stopping me from using atom full time at the moment, I'd love to see this implemented.

MEH.
I came here looking for a possible bug because I've lost all the tabs of my closed projects.
If this is how it works - then EPIC SADNESS.
I too used use Sublime Text where the flow is effortless.
Without this functionality; is there any real difference between opening a project vs simply dragging my folder to atom?
I've totally lost my focus, & have to remember what files were last open.
EPIC SADNESS INDEED.
O_O
-- HEAD KANGAROO
KangarooCreativeTeam.com
(New site up next week!)

I've just come across other relevant bugs:
#37 & #78 for tracking open tabs (reopening tabs on project load):
They point to installing this atom package:  save-session
#942 is relevant for automagically remembering unsaved changes.  It tooo points to:  save-session
(which supports  unsaved (scratchpad) tabs and also unsaved changes of (prior saved) tabs!)
save-session package's relevant info:

"It automatically saves all file's contents in the background so you don't have to worry as much about losing an important file. I liked how Sublime Text does this, so I wanted to recreate it for Atom."

"File info is stored in a folder at <atom package dir>/save-session/<project path>/projects.json by default and gets reloaded at when you reopen the same project again."

(so it supports per-project, and not just globally for all of atom)

"Skip Save Prompt - This will disable the save on exit prompt."

(so you can just exit anytime without getting nagged to save)

"Check out this issue (#942) for the status of this functionality being added to Atom core"

So; it'll eventually be in atom core (as it really should be).
#89 is relevant too (concerning re-opening of tabs).  It gives a workaround of loading the project twice (however this does not always work, if the state has already been lost #FML).
I have made some progress on when the error occurs (to make it somewhat reproducible, so it can be fixed moar quickly).  I will not be updating this bug, as it's functionality is mostly available in save-session (until it arrives in atom core proper).  If you want to follow progress, I suggest #89 & #942
/END EPIC LONG POST
O_O
-- HEAD KANGAROO
KangarooCreativeTeam.com
(New site up next week!)


Fix: now working with Node 14

Fix the TypeError: _a.classes.replaceAll is not a function error when build a sveltejs-sveltekit project with Node <16 version, like node 14.
Closes: #400

Thanks for your PR


Binding template for Notification Hubs

Having a binding template available for Notification Hubs would help make Functions a much more visible and viable backend option for sending out notification from Azure. As it stands, mobile developers have to publish their own ASP.NET or Node.js service or use Mobile Apps--which may be too heavyweight for many app scenarios. Just having a reference page for the Hubs binding doesn't provide enough help to mobile developers who don't want to spend much time on the backend.
The template itself seems fairly easy to compose, but is there customization required to be able to create a new hub from the Functions portal?

I guess templates are more just for triggers


Where to put api-key

I can't figure out where to put the api-key?  It doesn't show up in the settings for the extension.

Nevermind... didn't see the button in the bottom right to start the process... and nothing in your notes talked about it.

@ruckc
Apologies, it isn't very clear. I'll update the documentation.


Update dependencies

Pull Request Test Coverage Report for Build 893

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 61.776%

Files with Coverage Reduction
New Missed Lines
%

routes/my_api.js
1
63.4%

Totals

Change from base Build 892:
-0.01%

Covered Lines:
4627

Relevant Lines:
6993

💛  - Coveralls


Clarified that the % character has to be escaped

When using the wmi_exporter from the Windows command prompt (cmd) or from a .bat file, the '%' character in a wildcard query has to be escaped with another '%'.

LGTM, thanks a lot!
Fixes #252


Uncaught TypeError: Cannot read property 'kill' of null

[Enter steps to reproduce below:]

...
...

Atom Version: 0.194.0
System: Mac OS X 10.10.3
Thrown From: jekyll package, v0.4.3
Stack Trace
Uncaught TypeError: Cannot read property 'kill' of null
At /Users/fwartner/.atom/packages/jekyll/lib/server.coffee:73

TypeError: Cannot read property 'kill' of null
  at JekyllServer.module.exports.JekyllServer.stop (/Users/fwartner/.atom/packages/jekyll/lib/server.coffee:73:15)
  at /Users/fwartner/.atom/packages/jekyll/lib/server.coffee:15:45
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at ManagerView.module.exports.ManagerView.stopServer (/Users/fwartner/.atom/packages/jekyll/lib/manage-view.coffee:89:14)
  at HTMLButtonElement.<anonymous> (/Users/fwartner/.atom/packages/linter/node_modules/space-pen/lib/space-pen.js:214:36)
  at HTMLButtonElement.jQuery.event.dispatch (/Users/fwartner/.atom/packages/linter/node_modules/space-pen/vendor/jquery.js:4676:9)
  at HTMLButtonElement.elemData.handle (/Users/fwartner/.atom/packages/linter/node_modules/space-pen/vendor/jquery.js:4360:46)

Commands
     -3:33 core:backspace (atom-text-editor.editor)
     -3:32.5.0 core:save (atom-text-editor.editor)
     -3:29.9.0 core:backspace (atom-text-editor.editor)
     -3:29.5.0 core:save (atom-text-editor.editor)
     -3:27.6.0 core:backspace (atom-text-editor.editor)
     -3:26.9.0 core:save (atom-text-editor.editor)
     -3:25.1.0 core:backspace (atom-text-editor.editor)
     -3:24.7.0 core:save (atom-text-editor.editor)
     -2:11.6.0 core:backspace (atom-text-editor.editor.mini)
     -2:10.9.0 core:confirm (atom-text-editor.editor.mini)
     -1:13.6.0 jekyll-new-post:new-post (button.btn.icon.enablement.icon-playback-pause)
     -1:07.3.0 core:confirm (atom-text-editor.editor.mini)
     -0:44.7.0 jekyll:new-post (atom-text-editor.editor)
     -0:37 editor:consolidate-selections (atom-text-editor.editor.mini)
     -0:37 core:cancel (atom-text-editor.editor.mini)
     -0:18 jekyll:toolbar (atom-text-editor.editor)

Config
{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ],
    "disabledPackages": [
      "jekyll-new-post"
    ]
  }
}

Installed Packages
# User
autocomplete-plus, v2.12.0
color-picker, v1.7.0
emmet-atom, v2.3.8
jekyll, v0.4.3
linter, v0.12.0
minimap, v4.7.6

# Dev
No dev packages

For me the problem occurs when atom was killed. jekyll is still running, but somehow not available to kill via atom anymore. Only way to get it killed is to restart.


504 Gateway Time-out on app.districtbuilder.org

Description
504 Gateway Time-out on app.districtbuilder.org
Steps To Reproduce

Go to app.districtbuilder.org
See error

Expected behavior
Website loading normally
Actual behavior
Plain white screen with the text: "504 Gateway Time-out".
Screenshots

Your environment

OS: Ubuntu  22.04.3 LTS
Browser: Firefox
Version: 120.0

Whatever it was, it seems to be fixed now

Hmmm, still seeing the same error today on the 29th...


bugfix: check client exists before access

When reloading your init.lua, for those brave enough to try and reloading all modules, lspconfig will stop the client and restart it. Some plugins handle this well, others less so. In the case of fidget it seems to always expect the client
https://github.com/j-hui/fidget.nvim/blob/cbe0db4f2adfddfd830310e5846f8735d4e068fa/lua/fidget.lua#L324
This PR fixes this, so it checks first if the client exists before continuing with the function which requires access to this. This doesn't change or break any functionality from my testing, it just prevents fidget exploding when my config is reloaded

Thanks for the PR!
I only recently switched to using Packer and noticed this everytime I :PackerCompile, but didn't have the chance to investigate. This seems to fix the issue.
This is actually a duplicate of #58, but I'm going to merge this instead of that because I have a slight preference of the style in this PR.


deleting resources

User should be able to delete his resources. Endpoint to delete resource and all comments only working for admin

route fixed


noData Property has no effect when using css variables for fontSize

Series is an empty list, but even deleting series property has no effect and doesn't render the noData property

The problem is that ApexCharts using this value to determine where to place the text in the SVG. The no data text is actually there but the placement is incorrect. I have submitted a bug ticket to ApexCharts so their algorithm will lookup the value of the variable to determine the size.


storage: Fix type annotation for storage

This fixes some errors related to paths and files in zerver.lib.storage.
Affected errors:
5c5
< Found 199 errors in 70 files (checked 1404 source files)
---
> Found 198 errors in 70 files (checked 1404 source files)
100,103c100
< zerver/lib/storage.py error Argument 2 of "hashed_name" is incompatible with supertype "HashedFilesMixin"; supertype defines the argument type as "Optional[File[Any]]"  [override]
< zerver/lib/storage.py note See https//mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides
< zerver/lib/storage.py note This violates the Liskov substitution principle
< zerver/lib/storage.py error Argument 2 to "hashed_name" of "HashedFilesMixin" has incompatible type "Optional[str]"; expected "Optional[File[Any]]"  [arg-type]

Fixes:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

The PathLike stuff is silly, since Django really requires those paths to be str. Opened typeddjango/django-stubs#1063.

Updated with the latest stubs.

> zerver/lib/storage.py error Missing type parameters for generic type "File"  [type-arg]

We don’t need to wait for django-stubs-ext; we can quote content: Optional["File[bytes]"] or content: "Optional[File[bytes]]" to skip runtime evaluation.
(This will always be File[bytes], not File[str], based on the code at the two relevant call sites: at the first: storage.open() defaults to mode=rb, and at the second: content.encode() is bytes. It’d be pretty weird if it were allowed to be either.)

A problem remains:
class ZulipStorage(IgnoreBundlesManifestStaticFilesStorage):
    ...

    def path(self, name: str) -> str:  # Argument 1 of "path" is incompatible with supertype "StaticFilesStorage"; supertype defines the argument type as "Union[str, PathLike[str]]"  [override]
        if name == self.manifest_name:
            return name
        return super().path(name)

As we didn't modify the method signature of path. Unless we want to remove PathLike for those as well, the parameter type needs to be rewritten and narrowed to str.

Hmm, yeah, Django’s FileSystemStorage.path seems to intentionally accept PathLike (or at least Path) there, so I guess our subclass of FileSystemStorage needs to accept it too.
But I found a better solution: #22594.

I merged #22594, which apparently requires a rebase on this one.

Rebased.

Merged, thanks @PIG208!


Added earnme.club and usanewstoday.club bypass

 NOTICE
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.

Fixes: Link to issue

[x] I made sure there are no unnecessary changes in the code*
[x] Tested on Chromium- Browser OS
[ ] Tested on Firefox

* indicates required

Example links :- https://tnlink.in/genetry, https://tnlink.in/OnTrack2022


Release for Scala 3.0.0-RC3

Artifacts have been built and uploaded to Sonatype, ready for release.

released


Added contentDescription to lint and fixed all errors

Description
MA-2667
Added contentDescription lint check and resolved the errors that were detected. More details about the specific contentDescription errors that were fixed are found next to the code in this PR.
Testing

[ ] Unit, integration, acceptance tests as appropriate
Navigated over element in TalkBack mode and made sure that content description was set.

Reviewers
If you've been tagged for review, please check your corresponding box once you've given the :+1:.

[x] Code review: @bguertin
[ ] Code review: @BenjiLee
[ ] Code review: @1zaman
[ ] Code review: @miankhalid
[ ] UI strings/error msgs review: @catong
[ ] FYI @andy-armstrong

@@             master       #827   diff @@
==========================================
  Files           486        486
  Lines         19871      19871
  Methods           0          0
  Messages          0          0
  Branches       2853       2853
==========================================
- Hits           3772       3760    -12
- Misses        15661      15675    +14
+ Partials        438        436     -2

Review #827 on Codecov

Powered by Codecov. Last update 2c5344f...4091f54

@bguertin I am having trouble finding documentation on how to do that. Would it be something like this? (I just made a guess)
lintOptions {
    abortOnError true
    showAll true

    error{
        enable 'ContentDescription'
    }

    warning 'TypographyQuotes', 'InvalidPackage'
    error 'StopShip'
}

@mdinino 👍 with an optional suggestion for the comment associated with "go to video".

@bguertin I fixed the scope

:+1:

👍


[FEATURE] Docker on raspberry pi

Project mission:
A script that can run every 15 minutes on a small and cheap mini-computer at your home (eg. raspberry pi) with an easy configuration and support for most European banks.

To resolve the text in bold the following tasks are needed:

automatically build an docker-image for the raspberry pi
write documentation on how to set it up (link to docker setup and cronjob)
alternative setup without docker (plain ruby with cronjob which is already working)

Can't build it automatically for now. But created a wiki page as reference https://github.com/schurig/ynab-bank-importer/wiki/Build-Raspberry-PI-image


Get Token User Error

I have tried every solution provided.  I keep getting error for Token when using Saverr on Windows.

Yes, i am putting in correct email/username and password. :)

Sorry for not replying/fixing this ever. If you enabled the dubug logging there may have been more info in the logfile it creates.
However, there are others who have made better apps than this one now. I have not tried it, but you could check out this one here that looks good: PlexRipper


Add Build your First Smart contract

📖 Description
Added Tutorial on Building your first smart contract using Solidity and Remix IDE

Fixed Issue #129

🛫 Checklist

[x] The Post and any related files have been added to the appropriate folder.
[x] Grammatical errors are thoroughly checked for in the source files.
[x] For clearer understanding, I've added examples and pictures.

i GUESS IN THIS U ALSO RAISED  PR FOR THE WEB3 GLOSSARY . Check this and correct.
Also add comment's in your  smart contract code ,

@Vikash-8090-Yadav I have added comments to the code file

Great  . Your  blog is clean and nicely presented . Thanks for contributing  in my repo .


promisify(fse.ensureDir) in examples doesn't work as expected in case of nested directories

I've tried following the add-and-commit example and noticed that I get an ENOENT error when fse.ensureDir has to create nested directories. Using it without the promise (and putting the rest of the code in the callback of fse.ensureDir) solved the issue.

Can you elaborate on how you got the example to break? I just ran the code on my Arch Linux machine with the master branch snapshot and it worked fine. There is a nested path in the example so that should confirm the behavior you're describing, but I'm not seeing it.
Maybe it's OS related? More details please :ok_hand:

Yes, I ran it on OS. The important thing is that in my example ensureDir had to create both the parent and the child directory. I save files with a path that looks something like this /fullpath/drafts/folder1/folder2/file1.pug. I followed the add-and-commit example pretty closely. The line from the example return fse.ensureDir(path.join(repo.workdir(), directoryName)); in my case looked like this: fse.ensureDir(path.dirname(fileName)). If folder1 existed and folder2 had to be created, everything worked fine. However, if both folder1 and folder2 had to be created, I got ENOENT error. I was able to reproduce it consistently.

I tested it on Mac and it worked fine. So I experience this issue only in the Docker container. The image in the Docker container is based on Debian GNU/Linux 8 (jessie). Sorry for not testing properly before reporting.

Some read-only filesystem somewhere?


Correctly handle RIM / Blackberry browser in local storage cache filter

I've noticed blackberry users having DOM Exceptions caused by pagespeed's javascript attempting to add (what i presume, is too many) items to local storage At this point in the code:
qprototypef=function(b,a){var c=windowlocalStoragegetItem("pagespeed_lsc_url:"+b+" pagespeed_lsc_hash:"+a),f=documentcreateElement("img {snip}
Browser info:
browser = BlackBerry WebKit
device = BlackBerry Kbd
level = errorlogger = javascript
os = BlackBerry OS 1032
url = https://bid13com/storage-auctions/x-s-storage/unit-838-o
Please let me know if i can provide more information

Thanks for the report!
What UA were you seeing this with?

Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/<IP_ADDRESS> Safari/536.2+
and also:
Mozilla/5.0 (BB10; Kbd) AppleWebKit/537.35+ (KHTML, like Gecko) Version/<IP_ADDRESS>39 Mobile Safari/537.35+

Out of curiosity, do you see broken images on blackberry browsers when this error occurs?  It looks like this may be dying after filling in the image, then falling through to the next script on the page.


Describe building in the Readme

The .jars built with ./gradlew -Pversion=4.0.1 assemble do not start (no main manifest attribute, in Raccoon-desktop-4.0.1.jar), although the versions published on your website do. Specify that -Pversion=something is needed, and that the build itself should be done with launch4j tasks instead of the standard ones. (Those were fairly confusing 20 minutes :P)

Done


Make difference between failed and skipped benchmarks

Represent explicitly skipped benchmarks with NaN values, and failed benchmarks with None/null.
The practical difference here is that later on, you might want to use --skip-existing-successful to re-run failed tests e.g. due to fixes in the benchmark, but not re-run tests that you explicitly skipped in the benchmark suite.

Thanks.


WebView does not send custom request header after the first initial page load

The source prop for WebView allows for passing request headers. When the webview renders for the first time, the request headers are sent.
But when the links within that page are clicked, the headers are not sent to the server in the request header.
Similarly, when the goBack() method is called on the WebView, the request headers are not being sent.

+1. I got the same problem with version 30-rc

And it only exists on Android. My iOS app works normally.

We are seeing the problem on iOS

Any update on this? Facing the problem on both iOS and Android. Or anyone point me in the right direction on how to fix this?

Reliable HTTP headers are important for many apps / APIs to work. Any update on this?

+1

Can you provide a sample rnplay.org app that reproduces this problem?

I'll see if @chiraggshah can provide a sample from our application however he's on holiday for the next 2.5 weeks.

react-native-cli: 1.3.0
react-native: 0.38.1
Android has the same problem, not test iOS.

I was wondering if anyone has a workaround or fix for this issue?

+1

@satya164 : Can you point me to the right person who possibly would have the insight on how to fix this? This is a long time issue and has not received much attention.

Or someone can guide me on how to fix it or where to start looking? That too would be a good start.

+1

+1

+1

If you're iOS only, you can use this workaround (use as prop of your WebView, I assume you store the webview's url in this.state.source). Yeah, it sucks... hopefully this gets fixed soon.
      onShouldStartLoadWithRequest={(request) => {
        console.log('**** REQUEST.url: ' + request.url + '\n**** REQUEST.navigationType: ' + request.navigationType);
        if (request.url === this.state.source) {
          return true;
        }
        // HORRENDOUS hack: RN's WebView doesn't bother keeping headers around.
        // So we always fail new requests, then update state to re-render with new URL
        // NOTE: only works on iOS
        this.setState({ source: request.url });
        return false;
      }}

@xaphod : You can use the workaround I posted above. That works for both iOS and Android

@chiraggshah Thanks, yes I saw your workaround. It has several disadvantages for me, chiefly hitting all endpoints twice. That's why I used a different workaround

react-native-cli: 2.0.1
react-native: 0.45.1
Facing the problem on iOS, no problem with Android.
@xaphod Your workaround is wonderful on iOS. My workaround is based on yours and I add an Array to save histories to enable goBack feature (iOS only).
historyUrl: string[] = new Array();

onShouldStartLoadWithRequest = (request) => {
    let curUrl = this.state.url;
    let newUrl = request.url;

    if (newUrl === curUrl) {
        return true;
    }

    this.historyUrl.push(curUrl);
    this.setState({
        url : newUrl
    });
    return false;
}

componentWillReceiveProps(nextProps) {
    if (nextProps.goBack) {
        if (this.historyUrl.length === 0) {
            // exit
            ......
        } else {
            let newUrl = this.historyUrl.pop();

            this.setState({
                url : newUrl
            });
        }
    }
}

For I haven't faced the problem on Android, so I use this.refs[WEBVIEW_REF].goBack() to enable goBack feature for Android.
However, there isn't  onShouldStartLoadWithRequest function for Android.
So if you face the problem on Android, @chiraggshah 's workaround is the best way so far, but it will results in double-request.

This is still issue for me. Universal workaround above works only GET requests, but doesn't on POST.

I'm facing the same problem. It seems this bug is by design from the React team, so is it something that would likely be fixed or what's the reasoning behind it?

+1

+1

+1

+1

+1

+1

+1
A note for anyone needing this for Basic Authentication - on iOS you can pass the username and password in as part of the URL<EMAIL_ADDRESS>. Sadly this doesn't work for Android.

+1, running into this issue as well, it's extremely frustrating. Any updates?
Given how common hybrid apps are, and how common Basic Authentication is, I honestly think this deserves more attention. Taking into consideration that this issue has been open for almost two years now …
If the intention of source.headers is to simply provide custom headers with the first request, then you could provide a defaultHeaders?-property, and still maintain backward compatibility. I would certainly not expect the "source headers" to get passed with each consecutive request.
A more "catch-all" solution would be to provide a onRequest-callback, where the user can modify the request as they see fit, for instance:
<WebView
  onRequest={req => req.addHeader('Authorization', 'Basic c2VyaW91c2x5Ond0Zg==')}
  />

+1

facing the same issue

Closing here but we are committed to fix this and keep discussing on the new repo


Hugo: add border to code block title

Added a subtle bottom border to the code block title so it is distinct from the code itself and set font weight to semibold
For https://linear.app/usmedia/issue/CUE-172

https://review.gerrithub.io/c/cue-lang/cuelang.org/+/551165

Closed via 3257bab07c9a3e8e0cd039622ad7e48709ec4ffc


Add tablib in order for tests to pass

This makes the setup stable again

LGTM, but JFYI another fix would be disable export by just not installing and not listing django_tablib in the settings.INSTALLED_APPS ( because you had it here https://github.com/divio/django-cms-demo/blob/master/src/settings.py#L73 and not actually installed the package from anywhere.. )
the fork is almost py3 ready and definitely py2.6 and django 1.6-1.8 ready)

@cyberstar can you have a deeper look on why aldryn-faq migrations are failing?
https://travis-ci.org/divio/django-cms-demo/jobs/84456764

I will disable FAQ for now so we can land this


app.world().is_resource_added::() panics instead of returning false

Bevy version
0.5
Operating system & version
Arch(tho not relevant)
What you did
Calling app.world().is_resource_added::<T>() on a resource that wasn't added.
What you expected to happen
function to return false
What actually happened
It paniced
Additional information
Crashed at this line
bevy_ecs/src/world/mod.rs:574:79

because of the unwrap() at the end.

https://github.com/bevyengine/bevy/blob/v0.5.0/crates/bevy_ecs/src/world/mod.rs#L574 for the original commit
https://github.com/bevyengine/bevy/blob/main/crates/bevy_ecs/src/world/mod.rs#L666-#L680 for main branch. I'll look at opening a PR soon.


BUG: special: Fix two XSLOW test failures.

When SCIPY_XSLOW is defined, the tests test_riemann_zeta and test_zetac (that compare the results of zeta and zetac to the results computed with mpmath) are run with 5000 points, and it turns out that the input value 1 is included in that case.  The SciPy functions returns inf, but mpmath.zeta(1) raises an exception, and that caused the tests to fail.
The fix is to wrap the mpmath function to return mpmath.inf when the input is 1.  After fixing that, both tests then failed because some inputs result in a relative error of roughly 2e-13, so I bumped the tolerance up to 5e-13.

I tested that this can be cleanly cherry-picked to maintenance/1.9.x and it has a defect label, so adding a backport label now.

Thanks @tylerjereddy.


AudioPlayer does not respect long tokens in onPlaybackNearlyFinished

Hey guys!
I encountered a really weird behavior of the AudioPlayer - it failed to enqueue a stream under some circumstances:

The stream token is long enough, approx. 150 characters
It works fine for PlayBehavior.REPLACE_ALL but does not for PlayBehavior.ENQUEUE

I've created two ready to go Speechlets in hope it would be help you to troubleshoot.
The first one that shows the issue is here: https://gist.github.com/pavlo/2c80fe39e21a0d9675a769390aed7741. It will properly play the first item in the playlist, then the second one and then stop while I would expect it to go to the third one. Note the logic of token generation around 155th line there. This makes a token ~150 characters long.
The second one is exactly the same as the first but it has much simpler token generation strategy: https://gist.github.com/pavlo/865d927b1df8aba4eed45282e47fd46c (line 155th)
I could not spot any mentions of the token maximum size in the documentation so thought to let you guys know - this might be something that needs to be documented or fixed if you deem it an issue.
Please let me know if there're any further details I can provide!
P.

There's an update here. The tokens need to be really unique - even the same stream should yield a different token each time. In that case everything's working properly.
More details can be found here: https://stackoverflow.com/questions/47352615/playbacknearlyfinished-and-playbackfinished-occur-almost-at-the-same-time
The ticket is not relevant as it misleads, please close it when you have a chance.


Clean the code in model.py

e.g. put the if statements into dictionaries outside de main function

@BrendenBarbour I created a branch for this and started working on it. Want to follow up?
We can also open this up to more general cleaning, not just models.py
@rak5216 what's your take on this?

I created a branch as well to do this but your implementation is much more elegant and high level. I would recommend the comment on the mechanics of the libraries more explicitly for the benefit of less experienced users. I would be more than happy to do so myself in the future.
I think this is a good idea for the rest of our code as well as a personal goal of mine is to get less experienced users acquanted with the repository and workflow.

Oh, sorry about that! I did not understand that you were also working on this already. Ok, cool, I'll make sure I add more comments from now on. Fell free to modify the branch as you see fit or to expand the same ideas to other parts od the code

train: if no dataset exists, gives error

train: if no pretrained model exists, gives error

train thresholds: if no model exists, gives error

train thresholds: if no datasets exists, gives error

plots ok

right model selected - yes
no image but it selects the right model depending on the model name
all workflowsteps work? yes
train

train_thresholds

test