TransferPokemon keep_best_release

Expected Behavior
TransferPokemon should not call or log non stop.
2016-08-07 15:20:25,217 [TransferPokemon] [INFO] [keep_best_release] Keeping best 4 Zubat, based on cp and iv
2016-08-07 15:20:25,218 [TransferPokemon] [INFO] [future_pokemon_release] Releasing Zubat (CP 10/IV 0.71) based on rule: CP < 225 OR IV < 0.8
2016-08-07 15:20:25,640 [TransferPokemon] [INFO] [pokemon_release] Exchanged Zubat [CP 10] [IV 0.71] for candy.
Check keep_best_release  then release extras.
Actual Behavior
2016-08-07 15:20:25,217 [TransferPokemon] [INFO] [keep_best_release] Keeping best 4 Zubat, based on cp and iv
2016-08-07 15:20:25,218 [TransferPokemon] [INFO] [future_pokemon_release] Releasing Zubat (CP 10/IV 0.71) based on rule: CP < 225 OR IV < 0.8
2016-08-07 15:20:25,640 [TransferPokemon] [INFO] [pokemon_release] Exchanged Zubat [CP 10] [IV 0.71] for candy.
2016-08-07 15:20:28,945 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Drowzee, based on cp and iv
2016-08-07 15:20:38,960 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Drowzee, based on cp and iv
2016-08-07 15:20:49,143 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Drowzee, based on cp and iv
2016-08-07 15:20:49,966 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Drowzee, based on cp and iv
2016-08-07 15:20:50,698 [  SpinFort] [INFO] [spun_pokestop] Spun pokestop п═я┐п╦пҐп╦ 2. Experience awarded: 50. Items awarded: {u'Razz Berry': 1, u'Pokeball': 1, u'Super Potion': 1}
2016-08-07 15:21:01,985 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Drowzee, based on cp and iv
2016-08-07 15:21:02,548 [RecycleItems] [INFO] [item_discarded] Discarded 1x Super Potion (maximum 0).
2016-08-07 15:21:12,615 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Drowzee, based on cp and iv
This problem seems to happen with Drowzee either this event is the first one that apear and it keep getting logged or there is something else going on.
As you can see it is only checking keep_best_release and not releasing anything
Steps to Reproduce
Other Information
OS:
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)
Python Version: (run 'python -V' and paste it here)

same to me

You have the issue only with vaporeon ?

Vaporeon, Starmie and Pinsir

I have this issue only with Vaporeon because it's only one I got twice (with more than 1200CP and 0.9IV). But I guess this will be the same for every pokemon you have twice (or more).
The issue comes from the config I think, what's your release configs ?

Here it is:
`
"release": {
"any": {"keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 999, "release_below_iv": 0.9, "logic": "or"},
"//any": {"release_below_cp": 0, "release_below_iv": 0, "logic": "or" },
  "// Legendary pokemons (Goes under S-Tier)": {},
  "Lapras": { "release_below_cp": 1041, "release_below_iv": 0.8, "logic": "and" },
  "Moltres": { "release_below_cp": 1132, "release_below_iv": 0.8, "logic": "and" },
  "Zapdos": { "release_below_cp": 1087, "release_below_iv": 0.8, "logic": "and" },
  "Articuno": { "release_below_cp": 1039, "release_below_iv": 0.8, "logic": "and" },

  "// S-Tier pokemons (if pokemon can be evolved into tier, list the representative)": {},
  "Mewtwo": { "release_below_cp": 1447, "release_below_iv": 0.8, "logic": "and"},
  "Dragonite": { "release_below_cp": 1221, "release_below_iv": 0.8, "logic": "and" },
  "Snorlax": { "release_below_cp": 1087, "release_below_iv": 0.8, "logic": "and" },
  "// Mew evolves to Mewtwo": {},
  "Mew": { "release_below_cp": 1152, "release_below_iv": 0.8, "logic": "and" },
  "Arcanine": { "release_below_cp": 1041, "release_below_iv": 0.8, "logic": "and" },
  "Vaporeon": { "release_below_cp": 984, "release_below_iv": 0.8, "logic": "and" },
  "Gyarados": { "release_below_cp": 938, "release_below_iv": 0.8, "logic": "and" },
  "Exeggutor": { "release_below_cp": 1032, "release_below_iv": 0.8, "logic": "and" },
  "Muk": { "release_below_cp": 909, "release_below_iv": 0.8, "logic": "and" },
  "Weezing": { "release_below_cp": 784, "release_below_iv": 0.8, "logic": "and" },
  "Flareon": { "release_below_cp": 924, "release_below_iv": 0.8, "logic": "and" },

  "// Growlithe evolves to Arcanine": {},
  "Growlithe": { "release_below_cp": 465, "release_below_iv": 0.8, "logic": "and" },
  "// Dragonair evolves to Dragonite": {},
  "Dragonair": { "release_below_cp": 609, "release_below_iv": 0.8, "logic": "and" },
  "// Grimer evolves to Muk": {},
  "Grimer": { "release_below_cp": 448, "release_below_iv": 0.8, "logic": "and" },
  "// Magikarp evolves to Gyarados": {},
  "Magikarp": { "release_below_cp": 91, "release_below_iv": 0.8, "logic": "or" },
  "// Exeggcute evolves to Exeggutor": {},
  "Exeggcute": { "release_below_cp": 384, "release_below_iv": 0.8, "logic": "and" },
  "// Eevee evolves to many versions, like Vaporeon, Flareon": {},
  "Eevee": { "release_below_cp": 376, "release_below_iv": 0.8, "logic": "and" },

  "// A-Tier pokemons": {},
  "Slowbro": { "release_below_cp": 907, "release_below_iv": 0.8, "logic": "and" },
  "Victreebel": { "release_below_cp": 883, "release_below_iv": 0.8, "logic": "and" },
  "Machamp": { "release_below_cp": 907, "release_below_iv": 0.8, "logic": "and" },
  "Poliwrath": { "release_below_cp": 876, "release_below_iv": 0.8, "logic": "and" },
  "Clefable": { "release_below_cp": 837, "release_below_iv": 0.8, "logic": "and" },
  "Nidoking": { "release_below_cp": 864, "release_below_iv": 0.8, "logic": "and" },
  "Venusaur": { "release_below_cp": 902, "release_below_iv": 0.8, "logic": "and" },
  "Charizard": { "release_below_cp": 909, "release_below_iv": 0.8, "logic": "and" },
  "Golduck": { "release_below_cp": 832, "release_below_iv": 0.8, "logic": "and" },
  "Nidoqueen": { "release_below_cp": 868, "release_below_iv": 0.8, "logic": "and" },
  "Vileplume": { "release_below_cp": 871, "release_below_iv": 0.8, "logic": "and" },
  "Blastoise": { "release_below_cp": 888, "release_below_iv": 0.8, "logic": "and" },
  "Omastar":  { "release_below_cp": 780, "release_below_iv": 0.8, "logic": "and" },
  "Aerodactyl": { "release_below_cp": 756, "release_below_iv": 0.8, "logic": "and" },
  "Golem": { "release_below_cp": 804, "release_below_iv": 0.8, "logic": "and" },
  "Wigglytuff": { "release_below_cp": 760, "release_below_iv": 0.8, "logic": "and" },
  "Dewgong": { "release_below_cp": 748, "release_below_iv": 0.8, "logic": "and" },
  "Ninetales": { "release_below_cp": 763, "release_below_iv": 0.8, "logic": "and" },
  "Magmar": { "release_below_cp": 792, "release_below_iv": 0.8, "logic": "and" },
  "Kabutops": { "release_below_cp": 744, "release_below_iv": 0.8, "logic": "and" },
  "Electabuzz": { "release_below_cp": 739, "release_below_iv": 0.8, "logic": "and" },
  "Starmie": { "release_below_cp": 763, "release_below_iv": 0.8, "logic": "and" },
  "Jolteon": { "release_below_cp": 746, "release_below_iv": 0.8, "logic": "and" },
  "Rapidash": { "release_below_cp": 768, "release_below_iv": 0.8, "logic": "and" },
  "Pinsir": { "release_below_cp": 741, "release_below_iv": 0.8, "logic": "and" },
  "Scyther": { "release_below_cp": 724, "release_below_iv": 0.8, "logic": "or" },
  "Tentacruel": { "release_below_cp": 775, "release_below_iv": 0.8, "logic": "and" },
  "Gengar": { "release_below_cp": 724, "release_below_iv": 0.8, "logic": "and" },
  "Hypno": { "release_below_cp": 763, "release_below_iv": 0.8, "logic": "and" },
  "Pidgeot": { "release_below_cp": 729, "release_below_iv": 0.8, "logic": "and" },
  "Rhydon": { "release_below_cp": 782, "release_below_iv": 0.8, "logic": "and" },
  "Seaking": { "release_below_cp": 712, "release_below_iv": 0.8, "logic": "and" },
  "Kangaskhan": { "release_below_cp": 712, "release_below_iv": 0.8, "logic": "and" },

  "// Koffing evolves to Weezing (A-Tier)": {},
  "Koffing": { "release_below_cp": 403, "release_below_iv": 0.8, "logic": "and" },

  "// Below is B-tier or lower pokemons": {},
  "Caterpie": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 156, "release_below_iv": 0.8, "logic": "or" },
  "Weedle": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 156, "release_below_iv": 0.8, "logic": "or" },
  "Diglett": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 158, "release_below_iv": 0.8, "logic": "or" },
  "Metapod": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 168, "release_below_iv": 0.8, "logic": "or" },
  "Kakuna": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 170, "release_below_iv": 0.8, "logic": "or" },
  "Rattata": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 204, "release_below_iv": 0.8, "logic": "or" },
  "Abra": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 208, "release_below_iv": 0.8, "logic": "or" },
  "Zubat": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 225, "release_below_iv": 0.8, "logic": "or" },
  "Chansey": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 235, "release_below_iv": 0.8, "logic": "or" },
  "Pidgey": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 200, "release_below_iv": 0.8, "logic": "or" },
  "Spearow": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 240, "release_below_iv": 0.8, "logic": "or" },
  "Meowth": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 264, "release_below_iv": 0.8, "logic": "or" },
  "Krabby": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 276, "release_below_iv": 0.8, "logic": "or" },
  "Sorshrew": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 278, "release_below_iv": 0.8, "logic": "or" },
  "Poliwag": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 278, "release_below_iv": 0.8, "logic": "or" },
  "Horsea": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 278, "release_below_iv": 0.8, "logic": "or" },
  "Gastly": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 280, "release_below_iv": 0.8, "logic": "or" },
  "Ekans": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 288, "release_below_iv": 0.8, "logic": "or" },
  "Shellder": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 288, "release_below_iv": 0.8, "logic": "or" },
  "Vulpix": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 290, "release_below_iv": 0.8, "logic": "or" },
  "Voltorb": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 292, "release_below_iv": 0.8, "logic": "or" },
  "Geodude": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 297, "release_below_iv": 0.8, "logic": "or" },
  "Doduo": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 297, "release_below_iv": 0.8, "logic": "or" },
  "Onix": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 300, "release_below_iv": 0.8, "logic": "or" },
  "Mankey": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 307, "release_below_iv": 0.8, "logic": "or" },
  "Pikachu": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 309, "release_below_iv": 0.8, "logic": "or" },
  "Magnemite": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 312, "release_below_iv": 0.8, "logic": "or" },
  "Tentacool": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 316, "release_below_iv": 0.8, "logic": "or" },
  "Paras": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 319, "release_below_iv": 0.8, "logic": "or" },
  "Jigglypuff": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 321, "release_below_iv": 0.8, "logic": "or" },
  "Ditto": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 321, "release_below_iv": 0.8, "logic": "or" },
  "Staryu": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 326, "release_below_iv": 0.8, "logic": "or" },
  "Charmorer": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 333, "release_below_iv": 0.8, "logic": "or" },
  "Goldeen": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 336, "release_below_iv": 0.8, "logic": "or" },
  "Squirtle": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 352, "release_below_iv": 0.8, "logic": "or" },
  "Cubone": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 352, "release_below_iv": 0.8, "logic": "or" },
  "Venonat": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 360, "release_below_iv": 0.8, "logic": "or" },
  "Bulbasaur": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 374, "release_below_iv": 0.8, "logic": "or" },
  "Drowzee": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 374, "release_below_iv": 0.7, "logic": "or" },
  "Machop": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 381, "release_below_iv": 0.8, "logic": "or" },
  "Psyduck": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 386, "release_below_iv": 0.8, "logic": "or" },
  "Seel": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 386, "release_below_iv": 0.8, "logic": "or" },
  "Kabuto": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 386, "release_below_iv": 0.8, "logic": "or" },
  "Bellsprout": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 391, "release_below_iv": 0.8, "logic": "or" },
  "Omanyte": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 391, "release_below_iv": 0.8, "logic": "or" },
  "Kadabra": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 396, "release_below_iv": 0.8, "logic": "or" },
  "Oddish": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 400, "release_below_iv": 0.8, "logic": "or" },
  "Dugtrio": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 408, "release_below_iv": 0.8, "logic": "or" },
  "Rhyhorn": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 412, "release_below_iv": 0.8, "logic": "or" },
  "Clefairy": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 420, "release_below_iv": 0.8, "logic": "or" },
  "Slowpoke": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 424, "release_below_iv": 0.8, "logic": "or" },
  "Pidgeotto": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 427, "release_below_iv": 0.8, "logic": "or" },
  "Farfetch'd": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 441, "release_below_iv": 0.8, "logic": "or" },
  "Poliwhirl": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 468, "release_below_iv": 0.8, "logic": "or" },
  "Nidorino": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 480, "release_below_iv": 0.8, "logic": "or" },
  "Haunter": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 482, "release_below_iv": 0.8, "logic": "or" },
  "Nidorina": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 489, "release_below_iv": 0.8, "logic": "or" },
  "Graveler": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 501, "release_below_iv": 0.8, "logic": "or" },
  "Beedrill": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 504, "release_below_iv": 0.8, "logic": "or" },
  "Raticate": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 504, "release_below_iv": 0.8, "logic": "or" },
  "Butterfree": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 508, "release_below_iv": 0.8, "logic": "or" },
  "Hitmonlee": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 520, "release_below_iv": 0.8, "logic": "or" },
  "Ponyta": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 530, "release_below_iv": 0.8, "logic": "or" },
  "Hitmonchan": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 530, "release_below_iv": 0.8, "logic": "or" },
  "Charmeleon": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 544, "release_below_iv": 0.8, "logic": "or" },
  "Wartortle": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 552, "release_below_iv": 0.8, "logic": "or" },
  "Persian": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 568, "release_below_iv": 0.8, "logic": "or" },
  "Lickitung": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 568, "release_below_iv": 0.8, "logic": "or" },
  "Ivysaur": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 571, "release_below_iv": 0.8, "logic": "or" },
  "Electrode": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 576, "release_below_iv": 0.8, "logic": "or" },
  "Marowak": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 578, "release_below_iv": 0.8, "logic": "or" },
  "Gloom": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 590, "release_below_iv": 0.8, "logic": "or" },
  "Porygon": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 590, "release_below_iv": 0.8, "logic": "or" },
  "Seadra": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 597, "release_below_iv": 0.8, "logic": "or" },
  "Jynx": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 600, "release_below_iv": 0.9, "logic": "or" },
  "Weepinbell": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 602, "release_below_iv": 0.8, "logic": "or" },
  "Tangela": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 607, "release_below_iv": 0.8, "logic": "or" },
  "Fearow": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 609, "release_below_iv": 0.8, "logic": "or" },
  "Parasect": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 609, "release_below_iv": 0.8, "logic": "or" },
  "Machoke": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 614, "release_below_iv": 0.8, "logic": "or" },
  "Arbok": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 616, "release_below_iv": 0.8, "logic": "or" },
  "Sorslash": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 631, "release_below_iv": 0.8, "logic": "or" },
  "Alakazam": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 633, "release_below_iv": 0.8, "logic": "or" },
  "Kingler": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 636, "release_below_iv": 0.8, "logic": "or" },
  "Dodrio": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 640, "release_below_iv": 0.8, "logic": "or" },
  "Tauros": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 643, "release_below_iv": 0.8, "logic": "or" },
  "Primeape": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 650, "release_below_iv": 0.8, "logic": "or" },
  "Magneton": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 657, "release_below_iv": 0.8, "logic": "or" },
  "Venomoth": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 660, "release_below_iv": 0.8, "logic": "or" },
  "Golbat": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 672, "release_below_iv": 0.8, "logic": "or" },
  "Raichu": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 708, "release_below_iv": 0.8, "logic": "or" },
  "Cloyster": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 717, "release_below_iv": 0.8, "logic": "or"},
  "Mr. Mime": { "keep_best_cp": 2, "keep_best_iv": 2, "release_below_cp": 650, "release_below_iv": 0.8, "logic": "or" }
},

`

I have the same issue only with this:
2016-08-07 15:18:23,482 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Venonat, based on cp and iv
2016-08-07 15:18:23,484 [TransferPokemon] [INFO] [keep_best_release] Keeping best 4 Krabby, based on cp and iv
2016-08-07 15:18:23,487 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Electrode, based on cp and iv
2016-08-07 15:18:23,490 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Exeggcute, based on cp and iv
2016-08-07 15:18:23,492 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Rhyhorn, based on cp and iv
2016-08-07 15:18:23,493 [TransferPokemon] [INFO] [keep_best_release] Keeping best 3 Staryu, based on cp and iv
2016-08-07 15:18:23,496 [TransferPokemon] [INFO] [keep_best_release] Keeping best 4 Magikarp, based on cp and iv
on every move
config:
"any": {"keep_best_cp": 1, "keep_best_iv": 3, "release_below_cp": 100, "release_below_iv": 0.75, "logic": "or"},

I guess keep_best and release_below don't go together ...

It worked with the old api. Something was changed we have to figure out what exactly

Well, it's "working", we got our pokemons like we want. It's just the logging ... since everything changed.

It might have been the same before, it is just weird case looking at my drowzees:
I have 3 that met the keep best rules. But another one that don't match the release rule. So release rule check and find 3 pokemons to keep but it see there are 4 pokemons, And call it again.

yeah, just logging that make my console dirty :)

Same as for @AcorpBG, got tons of pokes that aren't getting matched against release rules:
    "release": {       "any": { "keep_best_iv": 3, "release_below_cp": 300, "release_below_iv": 0.5, "logic": "or" },       ...       "Drowzee": { "keep_best_iv": 3, "release_below_cp": 374, "release_below_iv": 0.8, "logic": "and" },
I did try also:
    "release": {       "any": { "release_below_cp": 300, "release_below_iv": 0.5, "logic": "and", "keep_best_iv": 3 },       ...       "Drowzee": { "release_below_cp": 374, "release_below_iv": 0.8, "logic": "and", "keep_best_iv": 3 },
But the bot doesn't release the rest, the same goes for other pokes like Krabby, Magikarp, Magnemite, Rattata.

I get this Keeping best flood too. I tried to remove all the "if best_pokemons and all_pokemons:" and it worked (no more logs) but the pokemon transfer doesn't worked anymore...I have to try this again

Fixed in https://github.com/PokemonGoF/PokemonGo-Bot/pull/3223


[Bug]: run conversation_with_react_agent.py occur 'NoneType' object is not callable

(agentscope) mac@macmingdeMacBook-Pro code % python conversation_with_react_agent.py
Traceback (most recent call last):
File "/Users/mac/Documents/GitHub/agentscope/examples/conversation_with_react_agent/code/conversation_with_react_agent.py", line 69, in
ServiceFactory.get(bing_search, api_key=BING_API_KEY, num_results=3),
File "/Users/mac/Documents/GitHub/agentscope/src/agentscope/service/service_factory.py", line 101, in get
docstring = parse(service_func.doc)
TypeError: 'NoneType' object is not callable

Please install docstring_parser by pip install docstring_parser, we will add a warning here to remind user to install necessary packages.

it's ok


Forecast is the Average of the Actual Rentals

Hi Author...Its a simple and nice example of coupling of Machine Learning with asp.net...
From the graph its reflects that the Forecast  is the average of the Actual Rentals, which is not good.
How can we improve the prediction of the algorithm? How can we predict for the upcoming dates of the month?

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

ID: 32d03435-cc6c-1123-a86c-d5c3eacc24bd
Version Independent ID: 460afd2b-383d-7b90-6804-4b900c3bc9b2
Content: Tutorial: Forecast bike rental demand - time series - ML.NET
Content Source: docs/machine-learning/tutorials/time-series-demand-forecasting.md
Product: dotnet-ml
GitHub Login: @luisquintanilla
Microsoft Alias: luquinta

If anybody can answer my question?

Hi @asif48
Thank you for your question. Using the SSA transformers, since you're only using a single value, the time series, there are few tweaks you can make to improve your model. One way to go about it is to tweak the parameters such as the window size. Another way, although it doesn't exactly factor in seasonality out of the box is to use one of the regression transforms to predict forecast values. See this sample for using regression for forecasting.
https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/end-to-end-apps/Forecasting-Sales


Add ZipCode service and service test

In this PR, we implement the ZipCode service and added a test for the ZipCode service.
Closes #16

Looks good


Adding warning and error colors to scrollbar

Fixes #40
Earlier:

Now:

Sweet! Thanks for you contribution :)

Didn't got reflected in new release though

Sorry. Should be fixed in v0.11.1


Use sparkle Citation component

Fix https://github.com/dust-tt/tasks/issues/93

cc @PopDaph since I got a build error in members that seems to blame to you. Removed the unecessary deps.


Lightning Release v1.4

What does this PR do?

Fixes #<issue_number>
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hello @kaushikb11! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file docs/source/conf.py:

Line 145:121: E501 line too long (126 > 120 characters)

needs to remove _notebooks

what? why? :confused:

Well, are the changes to _notebooks in this PR intentional?

Well, are the changes to _notebooks in this PR intentional?

yes I did update to head of submodule notebooks to have the latest version for this stable docs


Upgrade 🚀 - Gatsby @2.24.77 and related plugins

Deployment preview works as expected #14. Upgrade successful.


Update collections.mdx

contract written instead of collection
this probably refers to collections as in the get started page

There aren't any other smart "collection" languages (at least that I know of). The comparison with smart contracts is designed to show how we're different.

The possibility of a comparison between offchain stuff and onchain stuff was not in my reach as I was reading that.
Looking forward to using this new smart contract language. :P


Chromecast discovery problems

Currently the library has some issues on discovering chromecasts on some computers.
I was thinking of switching from RSSDP to https://github.com/tmds/Tmds.MDns library which should better support discovery of chromecast devices.

SSDP was used in GoogleCast v1 SDK.
mDNS is the primary way of discovering a Chromecast that supports the v2+ API.
Personnaly, I used Zeroconf to discover the devices.

I was looking into Zeroconf but not really happy with the reactive dependency.
I want to decrease the number of dependencies on SharpCaster so that's why I was looking into Tmds.MDns.
On the other hand have you tested the zeroconf implementation on multiple devices successfully? Especially interested on computers with multiple virtual network cards and multiple private ips.

I will switch to Tmds.MDns library in a near future as it seem really reliable on desktop and mobile usage.

Fixed #119


Create stage provider doesn't set the namespace in requestBody

The namespace of the object created in create stage provider should respects the following order the same as materialize stage provider

input["objectNamespace"]   -> specified in campaign stage spec
input["__namespace"]  -> set at runtime, same as campaign namespace

Then we need to set the namespace explicitly in the requestBody of create call.
Currently we takes input["object"] directly which is not correct.
https://github.com/eclipse-symphony/symphony/blob/09a6a5979abbf22418704534c9e3811a49ffb520/api/pkg/apis/v1alpha1/providers/stage/create/create.go#L134C2-L138C3

Namespace in request body.
Namespace in campaign / activation.
Follow the logic in materialize provider.

Assign to @lirenjie95


Helm's YAML warnings differ from kubectl's

When trying to install (or delete) a chart that generates invalid manifest, the latest helm version reports the following error:
Error: release dunking-saola failed: unable to decode "": [pos 292]: only encoded map or array can be decoded into a slice (6)`

Creating manually the generated manifest and using kubectl directly to create the resources, we can read a more useful error message:
error validating "manifest.yaml": error validating data: [expected type int, for field spec.replicas, got string, found invalid field port for v1.Probe, expected type array, for field spec.template.spec.containers[0].command, got string]; if you choose to ignore these errors, turn validation off with --validate=false

Here is my Kubernetes/kubectl versions:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"3+", GitVersion:"v1.3.0-alpha.5", GitCommit:"914163247d9a16b46921e83f7dbedb572859b3e4", GitTreeState:"clean", BuildDate:"2016-06-02T20:44:18Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0+coreos.0", GitCommit:"1c7c17f64b669d94307f6e8bb09e4ca69f63d6b9", GitTreeState:"clean", BuildDate:"2016-07-02T06:20:28Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}

It's not so much "inaccurate error reporting" as getting a different message back from the Kube API server. kubectl is validating the YAML client-side with its own validation library.

@technosophos can we use the same validation library as k8s?

This will be solved by #1050, so marking this closed as a duplicate.


Unexpected behavior with windows agent-flow installer: binaries are not updated

What's wrong?
Yesterday, we rollout an update from 0.37.x to 0.40.3 to our machine and we could observe that some windows machines didn't come-up after upgrade.
The agent exited with 1, because it say the new module syntax "import.http" as syntax error which was suspicious to me. I checked first, if the setup itself had some issues. But the setups runs with exit code 0 and I could observe, that registry values was updated by the setup, too. At least see the new version on programs directory.

However, for unknown reasons, the binary was not updated. I could identity this by the "date" modified value of the binary

From other systems, I could identify that the binary from version 0.40.3 has a modified timestamp of 2024. It would be great to attach an application manifest here which expose the correct version here.
In our logs, we could observe, that the installer return exit code 0 and does not provide any output on stdout and stderr.
Maybe the setup had issues with replaced both binaries and failed silent.
One possible reason could be a slow shutdown of the service. I have no idea, if the command sc stop blocks until the service has been stopped. As I know, binaries which are running, can not be replaced on windows.
Steps to reproduce
I have no idea, how I can reproduce it. Re-run the setup resolve the issue.
System information
Windows Server 2016
Software version
v0.40.3
Configuration
Running setup with `/S`. The setup was executed as builtin SYSTEM user.

Logs
Setup provides no logs

I intend to put some sleep like 5 seconds after executing sc stop in the NSIS installer. Do you think it'll resolve the perceived root cause?

Maybe. There are still super rare conditions, if defender is scanning a binary, it can not be updated as well.
I have no idea, why the NSIS does not run into an error here.
Our current workaround is that we do checksum comparison after the installation and if there is a checksum mismatch, we run the installation again. This workaround is running in a loop with 10 tries.

needs-attention


chore: merge next into develop

Found a rendering issue with the filter pop-over.

What a great improvement to devexp! LGTM 💪

issue: Found a rendering bug with the filter pop-over.

It was missing a z-index, should be good now 💪

Generally: This is so much faster 😍
One thing: order details doesn't seem to be working, it requests admin/orders/undefined when accessing the details page

Should be good now


Social Sharing Buttons on quiz completion

Facebook
Twitter
Email
Pull in what the WP plugin is already doing.

How difficult would b to implement this ? I 'm trying to do exactly the same thing..
thanks and congrats for the nice quiz app

Also interested in this sort of functionality. Seems to be expected these days for any sort of online quiz.


Custom delay for periodic mode

In most cases you don't want delay 1 second.
It's simply not needed

Could you please, release new version of the project and publish it in pip repository?


Spec typo: ethiopicaa should be ethioaa

The spec lists a calendar with ID ethiopicaa but the actual calendar ID is ethioaa.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getCalendars#ethioaa

fixed by https://github.com/tc39/proposal-intl-era-monthcode/pull/19


Documentation missing to use in combination with supabase for decoupled database?

Improve documentation
Describe the problem
supabase/all --> the main repo which runs everything (kong, postgrest, realtime....)
supabase/postgres --> this repo
It is not quite clear how to use this repo to use it with supabase/all for decoupled postreges db. This is the most featureful Postgres docker image, yet it is quite confusing how to connect it with supabase/all. The schema migrations files doesn't work, For example, the realtime schema has become _realtime ?
I still don't know how to merge all to decouple correctly. New to docker so it is quite a journey, I'm happy to learn. But there are a lot of moving parts and it is confusing.
Describe the improvement

Please, provide a single docker-compose file for supabase/postgres, with the correct env vars to make it easily reachable from supabase/all compose file. In the current situation in supabase/postgres, in default branch there are 3 different docker-compose file each one ponting to different supabase/postgres. It is not quite clear which one is to run.
Please remove the db service in the supabase/all docker-compose file.
Please make the decoupled postgres the default getting started guide.

Hope to not sound arrogant.

I see myself in the same situation. I've been struggling for 3 days now to have a decoupled Supabase db and it's very hard to follow instructions. It feels like some steps are missing and I have to come up with solutions.
If it is recommended to decouple the database, why is it so hard to configure it? :))
Love this project, but please make it easier to understand for newcomers.

I'm in this situation now as well. Trying to decouple the database and running the self-hosted Supabase, but so far no luck getting postgres up and running. Documentation on this repo is unclear to me to know how to get it running. I want to run it without Docker so my data is not gone when the machine is restart. How does this repo help me with that?

If you want to run the supabase docker image stand-alone you can do that with
docker run -it --name supag -p 5535:5432 -d -e POSTGRES_DB=postgres -e POSTGRES_PASSWORD=local_pw -e POSTGRES_USER=postgres -d supabase/postgres:<IP_ADDRESS>

but at this time we don't support separating the database from the rest of the docker compose file in supabase/supabase

I want to run it without Docker so my data is not gone when the machine is restart

By default the supabase CLI spins up the postgres docker image with a volume attached to your local disk. The data survives restarts. If you're seeing something different please open an issue on supabase/cli


Re-name TaskMonitor.checkCanceled() to checkCancelled()

Is your feature request related to a problem? Please describe.
It's a constant pain to remember which is mis-spelled between checkCanceled(), isCancelled(), or CancelledException.  At some point, it would be good to just bite the bullet and start spelling checkCancelled() correctly..
Describe the solution you'd like
Add checkCancelled() to TaskMonitor and deprecate checkCanceled().

One of my long standing pet peeves.
Adding updated versions of all 'canceled' methods sounds like a reasonable request.   It would cause a large number of code changes to remove the old methods, but they can slowly be migrated over time.

https://www.grammarly.com/blog/canceled-vs-cancelled/
color, colour same thing. Both spellings may be technically correct.


Today button event?  :selected-date binding is not updated

Is there an event that is fired when the today button is clicked?
I have noticed that the :selected-date binding is NOT updated when the today button is clicked, thus I have no way of to determine when it has been clicked so that i can update the schedule.
<vue-cal today-button :selected-date="currentDate" ... />

If I click the today button, the currentDate value is not updated?
I realize I can create my own today button, but the current implementation is just fine provided I can get it to update the bound value (or there is an associated event)

Hi @mikeerickson, sorry for late reply.
If you want to keep your currentDate variable in sync, you should update it on @view-change and @cell-focus.
https://antoniandre.github.io/vue-cal/#ex--emitted-events
This will also work with the built-in today button.
Or like you say, you could use the today button slot to emit events and update the variable yourself. Up to you.
To simplify things, I have added a two-way binding on the selected-date on the Vue 3 build. So you will now be able to do v-model:selected-date if you use Vue 3. :)
Cheers.


layered variable configuration lirary: Gila

Gila: A simple python3 config library based on golang's spf13/viper

https://pypi.org/project/gila/
hosted on gitlab: https://gitlab.com/dashwav/gila

Because no versions of gila match >0.5.0,<0.6.0
 and gila (0.5.0) depends on python-dotenv (0.10.3), gila (>=0.5.0,<0.6.0) requires python-dotenv (0.10.3).
So, because khala-python-utils depends on both python-dotenv (^1.0.0) and gila (^0.5.0), version solving failed.

gila is out of maintained now


[Tidy][Quality] MIOpen_Source include header files which are redundant and easy to miss

[Keywords]:
Tidy; Quality; CMakeLists; Maintenance
[Issue]:
The file src/CMakeLists.txt contains a set of MIOpen_Source which includes lots of header files.
e.g. https://github.com/ROCmSoftwarePlatform/MIOpen/commit/96bc894860ce2211e73e25d891843c2a09758b17 and https://github.com/ROCmSoftwarePlatform/MIOpen/pull/1350
This list is easy to miss in future updates. (maintenance issue)
[Target]:
Remove the header files from tidy checks since they are checked as parts of the files that include them anyway.

via #1369


Empty context panic in cedar-policy 3.0.0

Before opening, please confirm:

[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

Bug Category
Policy Evaluation
Describe the bug
In Cedar 3.0, we suddenly started to get this panic with a confusing error message:

empty set of keys cannot contain a duplicate key: Evaluation(EvaluationError { error_kind: RecursionLimit, advice: None })
thread 'main' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cedar-policy-core-3.0.0/src/ast/request.rs:198:14:

Expected behavior
Context::empty shouldn't panic based on this safety comment: https://github.com/cedar-policy/cedar/blob/818aefbbc4943c51a411951f5f9c3388df1842a6/cedar-policy-core/src/ast/request.rs#L196
Reproduction steps
As with https://github.com/cedar-policy/cedar/issues/322 , it occurs when executing cedar-policy within a sizeable Axum web application running on AWS Lambda.
Code Snippet
Context::empty()

Log output
empty set of keys cannot contain a duplicate key: Evaluation(EvaluationError { error_kind: RecursionLimit, advice: None })
thread 'main' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cedar-policy-core-3.0.0/src/ast/request.rs:198:14:

Additional configuration
AWS Lambda (Amazon Linux 2 custom runtime / cargo-lambda)
Operating  System
No response
Additional information and screenshots
Similarly to https://github.com/cedar-policy/cedar/issues/322 , the workaround is to wrap the Context::empty call inside stacker::grow.

Thanks for filing this issue.  We are investigating.


Update sites.yml

Website (if applicable): https://example.com <-- TODO: CHANGE ME
This PR is:

[x] Adding a new domain
[ ] Updating existing domain
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (darktheme.club site)
[ ] Other not listed

[x] The domain is in the correct alphabetical order
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ page, particularly the red section about inappropriate content, and I attest that this site is appropriate based on those criteria.

[x] Check to confirm

- domain: scottk.mba
  url: https://scottk.mba/
  method: darkonly
  last_checked: 2023-06-17

Thanks!


Looking for servers

Hi, this looks great, however... I just deployed this in my home network (with an ingress and rook storage), and upon visiting the application URL, <url>/web/index.html is stuck "Looking for servers....". Not sure where to start debugging this; the pod looks happy with its log ending in "Starting Plex Media Server."

OK so port-forwarding 32400 to 32400 on the pod and visiting localhost:32400/web got me signed in and started.


encoding/xml: XML CDATA section could be joined together with regular characters

go version go1.5 darwin/amd64
One thing I stumbled across yesterday (not a real bug, but a minor nuisance from a user's perspective perhaps):
package main

import (
    "encoding/xml"
    "fmt"
    "strings"
)

func main() {
    src := `<root>a<![CDATA[b]]>c</root>`
    r := strings.NewReader(src)

    dec := xml.NewDecoder(r)
    for {
        tok, err := dec.Token()
        if err != nil {
            fmt.Println(err)
            break
        }
        fmt.Printf("%#v\n", tok)
    }
}

gives
xml.StartElement{Name:xml.Name{Space:"", Local:"root"}, Attr:[]xml.Attr{}}
xml.CharData{0x61}
xml.CharData{0x62}
xml.CharData{0x63}
xml.EndElement{Name:xml.Name{Space:"", Local:"root"}}
EOF

I would expect one xml.CharData{} token instead:
xml.StartElement{Name:xml.Name{Space:"", Local:"root"}, Attr:[]xml.Attr{}}
xml.CharData{0x61, 0x62, 0x63}
xml.EndElement{Name:xml.Name{Space:"", Local:"root"}}
EOF

While I understand the source of the three tokens, I would expect one as the user (= me) is unable to distinguish between a CDATA node and a regular text node.

also is a problem if the xml element contains indented children and a cdata section
example:
<parent>
<![CDATA[Description of parent]]>
<child ID=1></child>
<child ID=2></child>
<child ID=3></child>
</parent>

",cdata" of parent ends up being:  "\nDescription of parent\n\n\n\n"
workaround is to use ",innerxml" and create a custom marshalXML/unmarshalXML method for your datatype

also is a problem if the xml element contains indented children and a cdata section
[...]
",cdata" of parent ends up being: \nDescription of parent\n\n\n\n

Two comments from me:

I believe this is expected: the string value of parent is what you write
This is unrelated to the report (joining adjacent CDATA sections)

You said: "I would expect one as the user (= me) is unable to distinguish between a CDATA node and a regular text node."
I agree. However I can't distinguish cdata sections using unmarshal, and I can't distinguish cdata sections using token.
Outside of that, this specific example is plainly not to spec
When I simply write what I read using unmarshal and then marshal these types of cdata sections get a ton of extra newlines (in addition to the regular indent ones) all wrapped in cdata. Aka crazy output.
Very much against section 2.11
Of the spec:
https://www.w3.org/TR/xml/#sec-line-ends

Example crazy output using ",cdata":
Input of 'Unmarshal'
<parent>
<![CDATA[Description of parent]]>
<child ID=1></child>
<child ID=2></child>
<child ID=3></child>
</parent>

Output of 'MarshalIndent'
<parent>
<![CDATA[
Description of parent

]]>
<child ID=1></child>
<child ID=2></child>
<child ID=3></child>
</parent>

I still believe this is a different issue, related but not the same as this one. I am not the author of the XML package, so I can't give an authorative answer. Perhaps you should post code in a new bug report which shows the behaviour? This makes it easier to reproduce the problem.  I think you have hit a bug, while my issue is just a nuisance.

Fair enough, thanks for your feedback, and have a Merry Christmas


asciidoc.vim: speed up the refresh process for big files

Hi everyone,
The removal of those lines speeds up vim's refresh process on big files for the asciidoc format.
This was first raised in https://bugs.debian.org/767179 and then integrated in the asciidoc repository in https://github.com/asciidoc/asciidoc-py3/pull/91.
As I just discovered that vim had this file in its runtime, I thought it might be good to have that change here and remove it from the asciidoc repo itself as it doesn't make sense to manage separate versions. See https://github.com/asciidoc/asciidoc-py3/pull/100 (just as an FYI).
Thanks for your time,
Joseph

looks like we don't have an active maintainer anymore. Would you like to volunteer?

Sure, I can maintain it, no problem.
Is there anything I need to do to be maintainer on my side?

Basically just change the header, moving the current maintainer to previous maintainer and if you intend to maintain this file in a public reposiotory, you might want to mention that as well.

Sorry for the late reply. I updated the header, adding my github handle (that's the best way to reach out).
I don't intend maintaining it in another repo. I'll just send PR here it'll be simpler to have it in just one place. Does that work for you?
Thanks,
Joseph

Codecov Report

Merging #6000 into master will increase coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #6000      +/-   ##
==========================================
+ Coverage   86.92%   87.04%   +0.11%
==========================================
  Files         140      142       +2
  Lines      156204   156394     +190
==========================================
+ Hits       135787   136138     +351
+ Misses      20417    20256     -161

Impacted Files
Coverage Δ

src/vim9execute.c
92.65% <0.00%> (-0.66%)
:arrow_down:

src/if_xcmdsrv.c
88.38% <0.00%> (-0.36%)
:arrow_down:

src/gui_gtk.c
31.05% <0.00%> (-0.28%)
:arrow_down:

src/os_unix.c
69.45% <0.00%> (-0.23%)
:arrow_down:

src/clipboard.c
83.07% <0.00%> (-0.22%)
:arrow_down:

src/mbyte.c
65.95% <0.00%> (-0.13%)
:arrow_down:

src/eval.c
96.84% <0.00%> (-0.13%)
:arrow_down:

src/edit.c
86.66% <0.00%> (-0.06%)
:arrow_down:

src/message.c
88.59% <0.00%> (-0.05%)
:arrow_down:

src/window.c
89.30% <0.00%> (-0.04%)
:arrow_down:

... and 26 more

Continue to review full report at Codecov.

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

This completely removes syncing.  Have you tried scrolling in a larger document?  Especially by jumping to the end and then moving the cursor up one line at a time.

That does work but it indeed would be better to not do a sync clear. Sorry I forgot to remove that part.
It should use the default syn parameters now. Tested, it works fine for me.

OK, I'll include not.w

Hey @brammool,
Did you close without merging on purpose?
I'm not sure I understand your last comment.
Thanks!
Joseph

Bram included it in his private runtime file copy. That is not yet on github, but he syncs it once in a while with the main vim repository. So expect it to be included with Vim soon.


Upload of autoLoadMore snippet experiment

Load more records on scroll

Hi Cody, (adding Matt)
I think everything should be cleaned up.
To your comments, here are my thoughts:
One thing I'm curious about, does it require the Rich Text component with
the Load More text? Or will the JS work even if you just have a Table by
itself on a page? If so, could we get some clarification in the README?
 no - added more text.  some feedback should be provided, this is just
an example.
I have some more meta-suggestions that are non-essential.

Could we consider renaming this to infiniteScroll or
infiniteScrollAutoReload? Infinite scroll seems to be the more
ubiquitous term for this behavior, and it deserves to be recognized!
 I don't feel strongly, but I feel infiniteScroll is a feature
Skuid should implement, this is just a robot clicking the 'load more'
button, thus the 'auto load more' name, it's not really an infinite
scroll...  If you feel it would be better suited named infiniteScroll, I
have no aversion but don't have the time to rename all the references.
Since dev orgs may not have enough records to show off this
functionality without zooming in, could we try re-implementing this on the
samplePage
https://github.com/skuid/skuid-labs/tree/master/experiments/pages/samplePage?
Then again, that may not have enough records either.
 Ha, then what's the point?  We could add more text clearly
stating the requirement that they must have more records and a table bigger
than the window, so it scrolls with them, we could.  Not sure who the
audience is and the goal, but I feel like this a solution to a problem, not
a solution looking for an implementation.

Matt - if we can get this merged, we're going to demo/discuss both the
functionality as well as the git process on the nautilus notes next Friday,
correct?
Thanks guys!
Paul Mackinaw
Principal | LeanCog
*e<EMAIL_ADDRESS>t:<PHONE_NUMBER>
On Fri, Oct 18, 2019 at 1:16 PM Cody Taylor<EMAIL_ADDRESS>wrote:

@itmightbecody requested changes on this pull request.
This is awesome! And I can confirm it works as expected.
My major suggestions are just some copy things in the README and making
sure to use tabs for indentation in your JS file. ESLint got pretty mad, so
we can't merge this PR until it's happy. I've left suggestions that should
get you started.
One thing I'm curious about, does it require the Rich Text component
with the Load More text? Or will the JS work even if you just have a Table
by itself on a page? If so, could we get some clarification in the README?
I have some more meta-suggestions that are non-essential.

Could we consider renaming this to infiniteScroll or
infiniteScrollAutoReload? Infinite scroll seems to be the more
ubiquitous term for this behavior, and it deserves to be recognized!
Since dev orgs may not have enough records to show off this
functionality without zooming in, could we try re-implementing this on the
samplePage
https://github.com/skuid/skuid-labs/tree/master/experiments/pages/samplePage?
Then again, that may not have enough records either.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skuid/skuid-labs/pull/33?email_source=notifications&email_token=AAUD5UB5RW4QCIVJ3Z5TQ4TQPIKQFA5CNFSM4JCBFCYKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCIQG7PI#pullrequestreview-304115645,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAUD5UGSO2RLWSV2F37KP5DQPIKQFANCNFSM4JCBFCYA
.


Tests on Invalid prop RoutingContext supplied to ReduxRouterContext. #266

Cool, thank you! I hope, I will come around to get this fixed. Though I have no clue why this fails yet.

@Scarysize Ok, then I updated the Pull Request to include the fix too.
The clue why it failed before is in the test code: PropType.extends(Component) (if it existed) and PropType.instanceOf(Component) are different things.

Nice. Should we add an additional test for stateless components?

@Scarysize Added a test for pure component

@halt-hammerzeit Just some minor issues. Fix these and I'm happy to merge. 👌

@Scarysize did some splitting and variable extraction

Nice work 👍

If @mjrussell has given it a quick overlook I will merge this.

I saw the original issue, but Im not sure why RoutingContext isn't allowed to be a Component or a function.
Just to clarify things.

Sorry I should have been more clear. It looks like you are restricting it to just functions, shouldn't the proptype be
PropTypes.oneOfType[PropTypes.func, PropTypes.element].isRequired

Or is there currently no warning if you pass a React class (non instantiated like your test).

@mjrussell There's no PropType for React components. The code you wrote is invalid.

Was on my phone so I missed a paren.
PropTypes.oneOfType([PropTypes.func, PropTypes.element]).isRequired

Is definitely valid. Check out the docs - https://facebook.github.io/react/docs/reusable-components.html
It might not be necessary to add the element option but I'll write a quick test

@mjrussell It is valid syntactically but is wrong conceptually.
Refer to React docs to read more about what is an "Element".

Did a sanity check with both React.createClass and extending React.Component. Looks good, I forgot that the element is for rendered instances, not react component definitions.
This looks good to me, I spotted a minor test typo I'll point out in the code

@mjrussell Thanks for the feeback!

@halt-hammerzeit The warning which will be printed during tests:
Warning: Failed propType: Invalid prop `RoutingContext` of type `object` supplied to `ReduxRouterContext`, expected `function`. Check the render method of `Connect(ReduxRouterContext)`.

Comes from the should not accept non-React-components for "RoutingContext" prop of ReduxRouter test, am I right?

@Scarysize Yes

Okay, just needed to be sure.


Fix generateTestCase

Refs #1258
When the test-runner logic was consolidated, the generateTestCase function was accidentally dropped. This re-adds the function and modularizes errorToObject which is shared between generateTestCase and evaluateTestCase.
Note: istanbul is throwing an error, which i still have to investigate.

LGTM. On Travis CI (https://travis-ci.org/jquery/esprima/jobs/74164351), Istanbul seems to be quite happy.

:+1:


why not let LineBasedFrameDecoder support \r?

Since LineBasedFrameDecoder support \r\n with WIN os,and.support \n with linux/unix based os, why not to support \r as one of line break flag for mac os?
thanks

Maybe can update method as below to support both \n,\r\n,\r
/**
* Returns the index in the buffer of the end of line found.
* Returns -1 if no end of line was found in the buffer.
*/
private static int findEndOfLine(final ByteBuf buffer) {
//OLD
//        int i = buffer.forEachByte(ByteProcessor.FIND_LF);
//        if (i > 0 && buffer.getByte(i - 1) == '\r') {
//            i--;
//        }
	//NEW
    int idxr = buffer.forEachByte(ByteProcessor.FIND_LF);
    int idxn = buffer.forEachByte(ByteProcessor.FIND_CR);
    int i = (idxn<idxr)?idxn:idxr; //never equal
    if (i > 0 && buffer.getByte(i - 1) == '\r') {
        i--;
    }
    return i;
}

I don't think this is necessary. Many protocols use \r\n which is supported by every OS. Should somebody make an own strange Mac OS protocol, he can also make his own FrameDecoder.
Your new code is also bad for the performance.

OK, that's right, it needn't to handle the case nearly never appearance.
Please just close this issue. Let me know if it must be closed by reporter.


Speed Devils physics are broken

We can get in game, but I'm not sure cars are supposed to behave that way.
https://github.com/user-attachments/assets/5db2238d-bb55-4b8c-a274-ce9a8299a5e5
Poked around in the FPU, bringing it close to parity with reicast (only ftrv XMTRX,FVn, fipr FVm,FVn and fmac FR0,FRm,FRn still differs), but the problem did not change at all.

fipr FVm,FVn doesn't impact the result at all


Not working on angular 8

Cannot get it working. When I tried using it on a real project it errors out with multiple errors, e.g. at index.js:202 Error at new SubscriptionSource (index.js:79) at EventEmitter.subscribe (index.js:112) at<EMAIL_ADDRESS>(core.js:22123) at TooltipDirective.push../node_modules/ngx-bootstrap/tooltip/fesm5/ngx-bootstrap-tooltip.js.TooltipDirective.ngOnInit (ngx-bootstrap-tooltip.js:332) at checkAndUpdateDirectiveInline (core.js:19341) at checkAndUpdateNodeInline (core.js:27597) at checkAndUpdateNode (core.js:27559) ...
On repro it just doesn't seem to work at all (well the print function does not seem to work)
repro: https://github.com/spiko-md/repro-observable-profiler-1

Hello!
The stack trace pasted above points to a subscription on the tooltip component (at TooltipDirective.ngOnInit) that isn't being disposed. It either might be disposed at a later time e.g. the routed component is unloaded, or it is in fact a memory leak. In case it's a memory leak, it's likely to be the 3rd-party component's fault. Nothing you can do to fix that except to report to the 3rd-party, or not using the component at all.
The output of the print function is styled as regular errors. Maybe you took that as errors in this tool? They're not, this style allows to print stack traces as well, which makes it easier to spot where the leaking subscriptions are.
At first glance your repro doesn't seem to make any subscriptions, that's why the print function doesn't print anything. You construct a Subject, but no subscription to it is made. If you include a .subscribe() to it there should be an item printed out.
Hope this clears any misunderstanding about how the tool works. Any day I should improve the docs on this.

Hi,
yes, I understood the error printout as errors in the tool :) My first reaction was "I cannot have this many open subscriptions" so I took the errors as incompatibilities with newer angular then the docs are written for - I was unsure if it would even work.
The output could probably be improved by mentioning it is a stack trace to where subscription occurred.
Also, the number of reported subscriptions/printed lines does not seem to match:
Current subscriptions (including indirect/nested): 5
//Lines of output: 3
Can you please look at the updated repro anyway? I added a real subscription to interval, which is not being printed out, even though it lives on after leaving the test page.

Also, the number of reported subscriptions/printed lines does not seem to match:
Current subscriptions (including indirect/nested): 5
//Lines of output: 3

Indirect subscriptions are omitted by default. printSubscribers({ reportInnerSubscriptions: true }) should report all of them.

Can you please look at the updated repro anyway? I added a real subscription to interval, which is not being printed out, even though it lives on after leaving the test page.

Using the router recipe, subscription tracking begins when the routed component is activated i.e. after its construction. Besides I advise never to subscribe in constructors. I moved the subscription to ngOnInit as it's a better practice, then the leak is reported to console.
The router recipe is intended to catch leaks as fast and localized as possible. Once you're done with router tests, use the bootstrap recipe, which would catch many more leaks, including work done outside router.
Happy bug fixing! ;)

Hello, have you got time to look at it again?
Cheers

Hi, I tried again and now that I understand how the tool works I think you can close this issue. I get reports about several unclosed subscriptions, but I think most are cleaned up since I don't see them on further requests.
Thank you


igluctl: add preliminary lint to static push and s3cp

Currently we only check that self-describing info is equal to registry path. But I think it would be nice to do whole linting before uploading.

Good idea

Migrated to https://github.com/snowplow-incubator/igluctl/issues/45


Dockerize the app for local development

Changes

[x] Introduces Docker Compose to run the app locally. Some tweaks were required to fix rugged with git clone over ssh.
[x] Cleans up the logs by fixing various warning messages.
[x] Makes the git repository directory configurable.

Notes
Production uses Postgres 9.4 so this installs the older client and libs from Alpine 3.3.
I just discovered https://github.com/FundingCircle/shipment_tracker/pull/334 by @maciekm for Mesos. Hopefully that can be rebased on this. There are some differences that we can discuss such as using nodejs or therubyracer.
Secrets required to be set in environment

AUTH0_CLIENT_SECRET from https://manage.auth0.com/#/applications/Y9ltgcdXUkNA4hRDWuP0nxDaZVdIskBM/settings.
GITHUB_REPO_READ_TOKEN from https://github.com/settings/tokens/new.
SSH_PUBLIC_KEY and SSH_PRIVATE_KEY without passphrase and added to GitHub account.

I wonder if the configuration would be simplified with something like this. Then if you need to create a new key specifically for this purpose (which seems like a good idea from a security point of view), you just run ssh-keygen -f id_rsa.shipment-tracker in the current directory and upload the resulting key to github. Removes two out of the four environment variable that need to be configured by the user.
diff --git a/.gitignore b/.gitignore
index a30cdf0..4fe9a43 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,3 +32,6 @@
 /config/database.yml

 .rspec
+
+id_rsa.shipment-tracker
+id_rsa.shipment-tracker.pub
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index afdfd74..1366426 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -19,8 +19,8 @@ services:
       SHIPMENT_TRACKER_DATABASE_PASSWORD: postgres
       SHIPMENT_TRACKER_DATABASE_USERNAME: postgres
       SSH_USER: git
-      SSH_PUBLIC_KEY:
-      SSH_PRIVATE_KEY:
+      SSH_PUBLIC_KEY: id_rsa.shipment-tracker.pub
+      SSH_PRIVATE_KEY: id_rsa.shipment-tracker
     ports:
       - <IP_ADDRESS>:1201:1201
     depends_on:

We can look at doing that in a follow up PR 👍
It would also be good to allow the use of an SSH key with a passphrase.


font.download() uses window.URL instead of window.requestFileSystem

Currently Font.download utilizes window.requestFileSystem to save a file.  This method only works on Chrome (13+) and Opera (15+).  It's also non-standard.
Over at Glyphr Studio, we implement a method that uses window.URL, which works on a larger set of browsers : Chrome (32+), Opera (19+), Firefox (26+), Safari (7.1+), and all of Edge.
Motivation and Context

In the past I've been taking the opentype.js dist file and modifying it to use this method before I include it in Glyphr Studio - which is silly 😄
How Has This Been Tested?

Loaded a font into the development server and tried font.download(); on FireFox, Chrome, Opera, and Edge on Windows 10.  Used Browser Stack to test Safari on Mac.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I did npm run test and all tests passed green (including code styling checks).
[ ] I have added tests to cover my changes.
[ ] My change requires a change to the documentation.
[ ] I have updated the README accordingly.
[x] I have read the CONTRIBUTING document.

@mattlag Thanks for the PR 😉

@fdb
Impossible to deploy with your key Frederik (https://github.com/nodebox/opentype.js/blob/master/.travis.yml)
I guess it's because all keys were deactivated by npm not too long ago.
Could you help me fix that or add me (jolg42) to the nodebox org on npm?

I've re-invited you to the opentype.js npm package, that should do it.

@fdb Thanks!
@mattlag It's finally pushed on npm as 0.10.0 😉


Unexpected trailing slash causes mismatch between exact link active option and url

Describe the bug
I have a route tree where a splat route handles redirecting to existing routes.
I have a route with an outlet and a child index route to display inside whenever the route is matched.
I have links with activeOptions={{exact: true}} to ensure they are active only when child routes are matched.
Whenever I refresh my page, /about, an unexpected trailing slash is added.
Because my Links have exact path matching, they don't match the same route if it has a trailing slash.
Your Example Website or App
https://stackblitz.com/edit/github-m8im6s?file=src%2Fmain.tsx
Steps to Reproduce the Bug or Issue

Click on 'About' link => only this link is active
Click on 'About special' link => only this link is active
Click again on 'About' link
Refresh your browser, pressing CMD+R or F5
A trailing slash is added to your url => '/about/'

Expected behavior
There should be no trailing slash added, as it is unexpected.
The link to "/about" is no longer active, because of the exact match pattern and trailing slash
Screenshots or Videos
https://github.com/TanStack/router/assets/3367393/8173a84d-3d74-46d1-9998-6ea243091523
Platform

OS: macOS
Browser: Chrome
Version:  122.0.6261.112 (Official Build) (arm64)

Additional context
No response

you are linking to the index page, so why don't you link to /about/?

you are linking to the index page, so why don't you link to /about/?

@schiller-manuel in a more complex context, with possibly redirections, it is not obvious that my link should hit /about/.
I am pointing at the inconsistent routing behavior :

I hit /about without refreshing
I hit /about/ once refreshed

by the way, what is the cause of the trailing slash? i also hit the same problem

This has been fixed with the 1.22.9 release.

I had a related issue and I was about to create another issue, but upgrading to v1.27.0 fixed it for me. Now trailing slashes are always added and it seems exact matching works in even more cases (including another case I had). 🎉

I had a related issue and I was about to create another issue, but upgrading to v1.27.0 fixed it for me. Now trailing slashes are always added and it seems exact matching works in even more cases (including another case I had). 🎉

yes i already fixed it in https://github.com/TanStack/router/pull/1372

Is this fixed, I am having v1.28.1,  when deployed the url automatically redirects to / and gives 404 for that page and then shows the url with /? @hansyulian  @jameslawson

Is this fixed, I am having v1.28.1, when deployed the url automatically redirects to */ and gives 404 for that page and then shows the url without /? @hansyulian @jameslawson

I retested this and observed no issues.
@mudasirpandith retest your problem with the latest version.
If the issue still persists, open a new issue on Github with a minimal reproduction of the issue you are facing.


Sending blocks to Stoa failed on live system

Oct 30 03:56:53 eu-002 docker[9687]: [Stoa] 2020-10-30T03:56:53.221Z info Connected to Agora, block height is 0
Oct 30 03:56:53 eu-002 docker[9687]: [Stoa] 2020-10-30T03:56:53.223Z info Listening to requests on: <IP_ADDRESS>:2828
Oct 30 04:00:49 eu-002 docker[9687]: [Stoa] 2020-10-30T04:00:49.975Z info Recovered a block with block height of 0
Oct 30 04:00:49 eu-002 docker[9687]: (node:38) UnhandledPromiseRejectionWarning: Error: SQLITE_ERROR: cannot rollback - no transaction is active
Oct 30 04:00:49 eu-002 docker[9687]: (Use `node --trace-warnings ...` to show where the warning was created)
Oct 30 04:00:49 eu-002 docker[9687]: (node:38) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
Oct 30 04:00:49 eu-002 docker[9687]: (node:38) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Looks like a serialization error which might be solved once #163 is merged.

While the agora block height is 3 and stoa is performing the recover block operation, there seems to be an error while saving the block of 0 height.

Now the error message is better:
Oct 30 07:28:03 eu-002 docker[8956]: (node:38) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 6)
Oct 30 07:28:03 eu-002 docker[8956]: (node:38) UnhandledPromiseRejectionWarning: Error: Validation failed: TxInputs - should be string
Oct 30 07:28:03 eu-002 docker[8956]:     at Function.isValidOtherwiseThrow (/stoa/bin/src/modules/data/validator/index.ts:95:23)
Oct 30 07:28:03 eu-002 docker[8956]:     at TxInputs.parseJSON (/stoa/bin/src/modules/data/TxInputs.ts:73:19)
Oct 30 07:28:03 eu-002 docker[8956]:     at Transaction.parseJSON (/stoa/bin/src/modules/data/Transaction.ts:87:47)
Oct 30 07:28:03 eu-002 docker[8956]:     at Block.parseJSON (/stoa/bin/src/modules/data/Block.ts:77:47)
Oct 30 07:28:03 eu-002 docker[8956]:     at Function.fromJSON (/stoa/bin/src/modules/data/Block.ts:92:30)
Oct 30 07:28:03 eu-002 docker[8956]:     at /stoa/bin/src/Stoa.ts:400:67

The cause of this problem is:
In the input member of transaction, it is index that is not string. But it is replaced by text. The reason was because of UINT64.
See) src/modules/data/types/TxInputs.d.ts
I think the cause of the error is probably a problem with the substitution of numbers into letters.

Then isn't this a duplicate of #168 ?

I don't think it's duplicated. replace(/([\[:])?(\d+)([,\}\]])/g, "$1\"$2\"$3") must be removed, sample JSON modified, and JSON Schema modified.
Even if #168 is complete, this part needs to be modified.
Live testing will be possible after #168 is complete.

It was deployed to TestNet and the test results work well.

I checked the log below in the live system.


refactor(material/stepper): remove all usages of deprecated selectors

The mat-horizontal-stepper and mat-vertical-stepper were deprecated after we introduced the orientation input on mat-stepper. These changes update all docs and tests to use the new approach.

bumping to minor as there are conflicts with the patch branch


error with git_version_requirement

Explain the problem here ...
i got the following error while updating
Error detected while processing function <SNR>2_job_handler[24]..<SNR>2_tick[2]..<SNR>2_progress_opt[1
]..<SNR>2_git_version_requirement:
line    1:
E684: list index out of range: -1

Not sure how to reproduce just yet.

NVIM v0.1.3-338-g1c066e6
Build type: Dev
Compilation: /usr/local/Library/ENV/4.3/clang -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -O2
-g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protect
or-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -I/tmp/neovim2016
0311-26285-1sln9at/build/config -I/tmp/neovim20160311-26285-1sln9at/src -I/tmp/neovim20160311-26285-1
sln9at/deps-build/usr/include -I/tmp/neovim20160311-26285-1sln9at/deps-build/usr/include -I/tmp/neovi
m20160311-26285-1sln9at/deps-build/usr/include/luajit-2.0 -I/tmp/neovim20160311-26285-1sln9at/deps-bu
ild/usr/include -I/tmp/neovim20160311-26285-1sln9at/deps-build/usr/include -I/tmp/neovim20160311-2628
5-1sln9at/deps-build/usr/include -I/tmp/neovim20160311-26285-1sln9at/deps-build/usr/include -I/usr/lo
cal/opt/gettext/include -I/usr/include -I/usr/include -I/tmp/neovim20160311-26285-1sln9at/build/src/n
vim/auto -I/tmp/neovim20160311-26285-1sln9at/build/include
Compiled by nhooyr@aubble

Optional features included (+) or not (-): +acl   +iconv    +jemalloc
For differences from Vim, see :help vim-differences

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/Cellar/neovim/HEAD/share/nvim"

Type:

[x] Bug
[ ] Enhancement
[ ] Feature Request
[ ] Question

OS:

[ ] All/Other
[ ] Linux
[x] OS X
[ ] Windows

Vim:

[ ] Terminal Vim
[ ] GVim
[x] Neovim

It indicates that system('git --version') returned an empty string, but I'm not sure how that can happen. It could be a bug of neovim. How often do you see the error?

@junegunn not too often, it comes and goes.

Okay, I noticed vim-plug was repeatedly checking the git version. (There was an invalid assumption that Vimscript will short-circuit the expression computing the default value for get() function.) It's a harmless bug but I fixed it and it should definitely help in this case. Please upgrade your plug.vim.

Great, thanks.


Upgrade Llama Cohere client dependencies to version ^5.0.2 and Llama Cohere LLM updates

Upgrade Cohere client dependencies to the ^5.0.2 and Cohere LLM upgrade
Description
This PR upgrades the Cohere LLM and its dependencies to utilize Cohere SDK version ^5.0.2
It requires upgrading the Cohere SDK to version ^5.0.2.
New Package?
Version Bump?
Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

[ ] Yes
[x] No

Type of Change

Breaking change (fix or feature that would cause existing functionality to not work as expected)
It requires upgrading the Cohere SDK to version ^5.0.2.

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] I tested it locally
[x] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] I ran make format; make lint to appease the lint gods

@logan-markewich could you please take a look when you have time


Describe whether the service is free or not and how long it will stay around

I know that right now, this GitHub app is free, and at the current level of use it is very cheap to run on Microsoft Lambda.
After you have done calculations based on your expected level of use, you should write in the README some promises or explicit non-promises about whether this app will cost money and whether it will stay running. You can also assure users that even if the hosted GitHub app shut down, they could host it themselves, use an alternative, or go back to running Git commands manually.

Thanks for creating the issue.
I updated the description here. Do you like it?


remove wrong delete

Fixes #414

Coverage remained the same at 80.086% when pulling e3cc9045db6b0b0b5c3aecee9a6c8428f7456c56 on fix into 25d22f1c1bf9b49c2a22ef3a8c67a01f4d681f3c on master.


option to display TVR as checkbox in DisplayGroup

As a user I want to be able to display a Bool type TVR tag as a on/off checkbox in the DisplayGroup.
Background:
The DisplayGroup is able to display EVR of boolean type as a checkbox.  The datatype can be defined by the UserInput=BOOL in the definition of the EVR in DmmyAppl

However, when displaying TVR such an option does is not easy to implement as parameter UserInput does not exist for TVR.  Maybe there's another way to specify the data type.

This would need to be implemented in SEPTIC itself, not SCG.


Upgrade Playwright

Update Playwright to ~v1.23.1~ v1.24.0

Should directly move towards v1.24.1, won't be a huge deal since I already did migrated to v1.24.0 and no breaking change has been introduced for my flow.


Integrate simplified version of fuzzy-based matchmaking algorithm

Need @abdulrahmanazab to help written/graphical version of the algorithm using the stats we have which we can then integrate in the code base.

Universal Assumption: all destinations in question are getting jobs only from Galaxy
First, we have a list of destinations that actually "can" take the job, i.e. for each of these destinations: Match(j.requirements,d.specifications) > 0.
what we need is an ordered list of these destinations based on the degree of matching, i.e. which d is the best for j
Second, we have a simple logic that is based on: queue size (how many jobs are currently queued to d) and the distance (latitude and longitude based distance calculation between the destination and the job input dataset location)
Now we want to improve this logic as we have new information available, about destination (d) and jobs of a specific tool (t):

Static information:

Existing-resources(d): static information on the CPU cores and Memory on d

Dynamic information:

Median-waiting-time(t,d): The median of all waiting times of all jobs of type (t) when they were submitted to destination (d) in the past
Median-run-time(t,d): The median of all execution times of all jobs of type (t) when they were submitted to destination (d) and were successfully executed in the past

Realtime-info(d):

Queue-size(d): Current total queue size of the destination
Running-jobs(d): The number current running jobs
[To be collected] Currently-consumed-cores(d):

Cores = 0
For each running job (j): Cores += Cores(j)

[To be collected] Currently-consumed-memory(d):

Memory = 0
For each running job (j): Memory += Memory(j) "The required memory by j, as it can be difficult to measure exactly how much memory is j using right now"

Based on all the above, the new logic will be composed

Scheduling algorithm logic:
Given:

Job requirements: # CPU-Cores, # Memory GiB, (other static requirements)
List of matching end-points, and for each:

Distance from the Data repo
Static and dynamic information (described above)
Algorithm logic:

For each Job (J):

Order the Endpoints list ascending by the closest to the data repo
Opt out the Endpoints with large estimated data transfer overhead
For each Endpoint (E):

If the currently consumed-cores and consumed-memory (E) NOT Match (J), remove E, Next
Queue Matching factor (qm(E)): 1/[Median-waiting-time(t,E)*Queue-size(E)]
Compute Matching factor (cm(E)): 1/[Median-run-time(t,E)*Running-jobs(E)]
Matching(J,E) = [qm(E) + cm(E)]

Order the Endpoints list Descending by the best match

@pauldg and I were discussing:

In the above algorithm, we are not taking into account the input dataset size (also, the median input data set size)
Handle cases where there is no median queue/run time because the destination could be new or the tool was never used/run and how do we weigh/rank in such cases.

A temp implementation of the algorithm:
# Scoring function for each destination
def calculate_matching_score(destination: dict) -> float:
    """
    Calculate the matching score between a job and a destination based on:
    """
    median_waiting_time = destination.get('median_waiting_time', None)
    queue_size = destination.get('queue_size', 1)
    median_running_time = destination.get('median_running_time', None)
    running_jobs = destination.get('running_jobs', 1)

    # Queue matching factor (qm).
    if median_waiting_time > 0 and queue_size > 0:
        qm = 1 / (median_waiting_time * queue_size)
    else:
        qm = float('inf')

    # Compute matching factor (cm).
    if median_running_time > 0 and running_jobs > 0:
        cm = 1 / (median_running_time * running_jobs)
    else:
        cm = float('inf')

    # Final matching score
    return qm + cm

def select_best_destination(job_requirements: dict, destinations: list) -> list:
    """
    Selects the best destination for a job based on job requirements and destination metrics.
    """
    cpu_required = job_requirements['cpu_cores']
    memory_required = job_requirements['memory']

    # Filter out destinations that can't meet basic requirements based on the "real-time" data
    viable_destinations = []
    for dest in destinations:
        if dest['unclaimed_cores'] > cpu_required and dest['unclaimed_memory'] > memory_required:
            viable_destinations.append(dest)

    # Sort by distance to input data location (ascending)
    viable_destinations.sort(key=lambda x: x.get('distance_to_data', float('inf')))

    # Calculate matching scores for each viable destination
    for dest in viable_destinations:
        dest['matching_score'] = calculate_matching_score(dest)

    # Sort by matching score (descending)
    viable_destinations.sort(key=lambda x: x['matching_score'], reverse=True)

    return viable_destinations

Ok, as we are now able to collect this information:

Current number of unclaimed cores on the destination
Current number of unclaimed memory on the destination
Distance between the input data location and the destination

This is excellent :) @sanjaysrikakulam your code is very good as a start. Now I think we should go with the usage of the three above parameter values as historical information, e.g. taking the collective historical # free cpus, # free memory, etc. from the DB and feed that into the Fuzzy input membership function. We can start with three Fuzzy membership functions: CPU, Memory, and Distance

Ok, as we are now able to collect this information:
* Current number of unclaimed cores on the destination

* Current number of unclaimed memory on the destination

* Distance between the input data location and the destination

This is excellent :) @sanjaysrikakulam your code is very good as a start. Now I think we should go with the usage of the three above parameter values as historical information, e.g. taking the collective historical # free cpus, # free memory, etc. from the DB and feed that into the Fuzzy input membership function. We can start with three Fuzzy membership functions: CPU, Memory, and Distance

The current version here already uses the unclaimed CPU, memory, and distance (but I'm not sure what you mean by "as historical information").
here is the updated code:
def calculate_matching_score(destination: dict) -> float:
    """
    Calculate the matching score between a job and a destination
    """
    median_waiting_time = destination.get('dest_tool_median_queue_time', None)
    queue_size = destination.get('dest_queue_count', 1)
    median_running_time = destination.get('dest_tool_median_run_time', None)
    running_jobs = destination.get('dest_run_count', 1)

    # Queue matching factor (qm).
    if median_waiting_time > 0 and queue_size > 0:
        qm = 1 / (median_waiting_time * queue_size)
    else:
        qm = float('inf')

    # Compute matching factor (cm).
    if median_running_time > 0 and running_jobs > 0:
        cm = 1 / (median_running_time * running_jobs)
    else:
        cm = float('inf')

    # Final matching score
    return qm + cm

def get_sorted_destinations(job_requirements: dict, destinations: list, objectstores: dict, dataset_attributes: dict) -> list:
    """
    Sorts the destinations based on the matching score and distance to the input data location.
    """
    sorted_destinations = []
    cpu_required = job_requirements['cpu_cores']
    memory_required = job_requirements['memory']

    # Filter out destinations that can't meet basic requirements based on the "real-time" data
    viable_destinations = []
    for dest in destinations:
        # Check if the destination_status is 'online'
        if dest['dest_status'] == 'online':
            # Check if the destination has enough resources
            if dest['dest_unconsumed_cpu'] > cpu_required and dest['dest_unconsumed_mem'] > memory_required:
                # Calculate the distance to the input data location
                dest['distance_to_data'] = closest_destination(dest, objectstores, dataset_attributes)
                viable_destinations.append(dest)

    # Fallback case if no viable destinations are found (e.g. no destination has enough resources)
    if not viable_destinations:
        for dest in destinations:
            dest['distance_to_data'] = closest_destination(dest, objectstores, dataset_attributes)
        sorted_destinations = sorted(destinations, key=lambda x: x['distance_to_data'])
        return [dest['destination_id'] for dest in sorted_destinations]

    # Sort by distance to input data location (ascending)
    viable_destinations.sort(key=lambda x: x['distance_to_data'])

    # Calculate matching scores for each viable destination
    for dest in viable_destinations:
        dest['matching_score'] = calculate_matching_score(dest)

    # Sort by matching score (descending)
    viable_destinations.sort(key=lambda x: x['matching_score'], reverse=True)

    sorted_destinations = [dest['destination_id'] for dest in viable_destinations]
    return sorted_destinations


Implement Navigate To service

Wow, fantastic!

This looks fantastic :)

@dsyme :) Done.

Looks awesome!
Is the Navigate To box in the center due to your own settings?

@cartermp yes :)

I've been playing with this today and noticed two main things:

Fuzzy matching doesn't seem to work (e.g., typing "wb" in the FSharpEx project won't show the WriterBuilder type in the result set)
It seems to drop certain symbols after a while.  I was able to search for types just fine, but after I closed by laptop and opened it again a few minutes later (didn't open/close VS), I was unable to search for any types.

Hm, I was not aware, there is such a thing as fuzzy matching.
The second problem looks mysterious :(

I don't think VS supports fuzzy matching at all:

Ah, if you use upper case, then it kind of works:

However, I'm not sure I understand why IsActive is in the results, I mean what was happened to the C character?

C#/VB use PatternMatcher http://source.roslyn.io/#Microsoft.CodeAnalysis.Workspaces/PatternMatching/PatternMatcher.cs,22 I think we should use it in conjunction with our existing logic, because PatternMatcher is unlikely to support searching for operators and double quoted identifiers, for example (however, I may be wrong).
The problem I cannot find it in any of NuGet packages we use. It seems it should be in Microsoft.CodeAnalysis.Workspaces.Common, but it's not. There is no such a package as Microsoft.CodeAnalysis.Workspaces either.
Thoughts?

@CyrusNajmabadi, any thoughts to address @vasily-kirichenko's investigation for fuzzy matching in NavigateTo?

As for the second issue I found, I think we shouldn't worry about it for now.  If I can reproduce it I'll report back.

However, I'm not sure I understand why IsActive is in the results, I mean what was happened to the C character?

So, let's clarify the terminology that Roslyn uses for 'matching'.  We currently use:

'CamelCase' to mean the process of doing something like    ComProv in order to match CompletionProvider.  "CamelCase' is inaccurate and it would be better termed 'PascalCase'.   But CamelCase reflects the 'humpy' nature of the match.
'Fuzzy', to reflect some degree of 'error tolerance'.  Meaning you can mispell a few characters, and we still find matches.

So, when you typed ICActive, our 'fuzzy' matcher said: that's closed enough to IsActive to count as a hit.  You may have just flubbed typing into the box.

The problem I cannot find it in any of NuGet packages we use. It seems it should be in Microsoft.CodeAnalysis.Workspaces.Common, but it's not. There is no such a package as Microsoft.CodeAnalysis.Workspaces either.

@Pilchie @jasonmal PatternMatcher exists at the workspace layer.  What's the best way for F# to be able to use it?

I think we should use it in conjunction with our existing logic, because PatternMatcher is unlikely to support searching for operators and double quoted identifiers, for example (however, I may be wrong).

You are correct.  The PatternMatcher is not really a general purpose piece of code.  It's tuned to the sorts of things people search for in C# and VB.  That shoudl work for F# for lots of cases (since you're very .net'ish), but you will likely still need to augment it with your own special language cases.

After merging with master I got this error:

Looks like xxx.CodeAnalysis.yyy are newer than beta-6 we are using:

Even RC packages has older version than VS RC2 uses:

Yes, updating packages to RC have not helped.

@vasily-kirichenko
I have resolved collisions and updated the references to rc2, is this ready to go?
@dotnet-bot test this please

@KevinRansom yes, it's ready. It does not use Roslyn's PatternMatcher to perform CamelCaps searching since it's not available via nuget packages yet. We should fix this later.

PatternMatcher exists at the workspace layer. What's the best way for F# to be able to use it?

@Pilchie @jasonmal any updates on this? We would love to use PatternMatcher to make the "CamelCase" searching.

Honestly, right now the best thing to do would be to copy the code :)
We have started discussions with the Editor team to get the PatternMatcher cleaned up and available as a core VS service.  But that is certainly not happening for VS2017 RTM.  So, if you want to unblock yourself now, I would just copy our code.  Otherwise, we can try to push for this soon after RTM.

@CyrusNajmabadi I tried to port the code to F#, but it turned out there are quite a lot of it, so I gave up.

I'm surprised.  It shoudln't be that involved to do a nasty copy/paste job :)

@CyrusNajmabadi that's not copy-paste, that's porting to F#. And PatternMatcher depends on more code, that depends on even more and so on.

right... but i think that set is reasonably tiny...

Ok. Looking at it, i can't really see the problem.  I did notice that PatternMatcher pulls in WordSimilarityChecker in order to support "fuzzy matching" (which is distinct from CamelCaseMatching).

Ok, I'll try again cutting out the fuzzy matcher.

@vasily-kirichenko what about stuffing the C# code in a separate project (or existing c# project in the solution)?

We would probably ilrepack or handle deployment,...

I did hte exercise here: https://github.com/CyrusNajmabadi/PatternMatching

It was definitely a fair amount of code to copy (if you want fuzzy matching).  If you don't, then it get's much smaller.


feat: migrate yarn workspaces

Type: feat
⚠  ⚠ ⚠ ⚠ ⚠  PLEASE do not press the UPDATE button ⚠ ⚠ ⚠ ⚠ ⚠ ⚠ ⚠ ⚠
Description:
Context
Verdaccio has been traditionally a single package web application that has been evolve to achieve new features along the last 3 major releases, as the  Storage API, Node API and new set of plugins. We have increased the set of test in order to provide a really stable experience.
Unfortunately the current architecture is not easy to scale and is time to move on. Early last year we decided to experiment with monorepo and move there plugins, business logic that is essential for plugin development and stack tooling to provide a good base to start to build plugins, the outcome has been more than positive and the next step is move core to the same approach.
Verdaccio 5 will be monorepo by design, using workspaces with lerna + yarn (at this stage is the best option of migration due the internal experience we own), but I don't throw the idea to use pnpm as base of our monorepo , since is one tool instead two, time will tell.
What's new?

Verdaccio 5 (at this stage) still fully compatible with previous versions, but along the alphas are being shipped breaking changes will arrive, specially for plugins (since is the hotspot for enhancement request)
Unit testing structured completely refactored
Separation of concerns (each package will own set of test, no more mixed unit test)
Update dependencies issues are fixed (eg: we were not able to update request due issues with our testing pipeline)
We open the door for new features, as hooks (before named notifications) which we plan to increase it power along the next alphas being able to notify more actions (currently only publishing)
Logging: We have been using bunyan but we have plans migrate to #1334 either PinoJS or being able to use a different logging system.
Scoped packages: We want to scope all packages, even the core, but will be available from the original source but will have an scoped alias, eg: @verdaccio/cli

... and many more things which will depends of the available human resources.
This PR
I'm limiting this PR to migrate to lerna and yarn workspaces, no app logic or testing refactoring is being done, just relocate and refactor the build stack, so the outcome of this PR would be like use the latest Verdaccio 4 without any significant modification for user and plugins developers.

I'm constantly rebasing from master so this PR does not get outdated.

Quick todo list

[x] Prepare project for usage of workspaces.
[x] Setup lerna
[x] Create new modules
[x] Fix lints
[x] Fix scripts
[x] Fix tests
[x] Fix deployments
[x] Fix Release pipeline
[x] Prepare Docker image (+ deployment)

Deployments
Trial using the GitHub registry
https://github.com/verdaccio/verdaccio/packages

Current canary is being deployed in our registry via:
npm i -g @verdaccio/cli@canary --registry https://registry.verdaccio.org

or
npm i -g verdaccio@canary --registry https://registry.verdaccio.org

verdaccio@canary is just a wrapper of @verdaccio/cli@canary which is exactly the same

Website: https://registry.verdaccio.org/-/web/detail/@verdaccio/cli

:gold_medal: Awesome work, still draft, but it's time to evolve

@juanpicado let me know if you need help with some work :wink:

I will your help with the deployment for sure, you have way more experience 🙏

Currently I am working on migrate unit test peer package (huge task) and refactoring configuration to make much easier to understand, but none tests is being modified or any logic, just moving stuff around and config files.

@sergiohgz @DanielRuf  I don't get the error
console.error ../../node_modules/jest-jasmine2/build/jasmine/Env.js:290
@verdaccio/server:     Error: EACCES: permission denied, mkdtemp '/tmpXXXXXX'

😢

Well ... took me 2 months, but I did it, this is being merged on 5.x and then tackle more stuff from there.
 docker run -it --rm -p 4873:4873 verdaccio/verdaccio:5.x-next

or
npm i -g verdaccio@canary --registry https://registry.verdaccio.org


Memory Requirements

Hi, I'd like to know how much memory is required for Make it Real? An A100 or just RTX3090 with 24GB will be enough?

Hi, 24GB of memory is sufficient for Make-it-Real. An RTX 3090 will be enough, while A100 will accelerate the rendering and material generation process.


Block statement simplify transformer

Coverage decreased (-0.01%) to 98.644% when pulling c1b0458f3c460f61da7467bb89a438a8f92ba037 on block-statement-simplify into d1d12753192470c717c7a6ede4b2d86d6fb57f7d on master.


Create a design doc

Create a design doc to explain how the exporter works, what are the caveats, and possible alternatives.

Added a FAQ and an Architecture overview.


xWebAdministration: Move example to separate file

Pull Request (PR) description
Moved example from readme.md to a separate file in the /examples/ folder. Since this was an end to end example for the whole module I placed the file directly in the folder, not in its own resource folder.
Also corrected some typos in the example configuration.
This Pull Request (PR) fixes the following issues

Fixes #491

Task list

[x] Added an entry to the change log under the Unreleased section of the CHANGELOG.md.
Entry should say what was changed and how that affects users (if applicable), and
reference the issue being resolved (if applicable).
[x] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #526 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #526   +/-   ##
=======================================
  Coverage   91.39%   91.39%
=======================================
  Files          17       17
  Lines        2661     2661
=======================================
  Hits         2432     2432
  Misses        229      229

Continue to review full report at Codecov.

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

@tomlarse Thank you! 😃


Power lines and water pipes not syncing

When creating power lines, only the "towers" and not the wire is created on the receiving Client/Server.

Related to this water pipes are not syncing either. I believe its because of how the game handles these. I think they are 'half' buildings 'half' "roads"(net). and since we are not yet syncing the data held by the NetManager these bugs appears.

We are speaking about so called game "Net" entities, there are NetNodes and NetSegments.
Some buildings consist of a Building and a NetNode. Multiple NetNode connect up via NetSegments.
NetSegments & NetNodes need to be synced in order to fix those issues.


This library does not appear to handle d.ts files besides LibDom

It seems to me that if you can read LibDom, you can actually read any d.ts file.
By adding another property to the FileGeneratorAttribute, it seems like you could load any file from any location, parse it, and spit out a JSInvoke compatibility layer.

Hi @robertmclaws,
You're absolutely correct. Right now, this is limited to the hardcoded LibDomParser/Reader. I will work on exposing the ability to add arbitrary TypeScript declaration support.

Thanks for getting back to me so quickly! How can I help make this happen within the next couple days? I need it for a project that goes to production late next week. You're the man!

Wow, that's a short deadline. I recently discovered a similar project, that already lets you arbitrarily point to TypeScript declarations. But it takes a different approach. It is worth exploring though:
https://github.com/canhorn/EventHorizon.Blazor.TypeScript.Interop.Generator
I would need to make several updates to expose the ability to control this value:
https://github.com/IEvangelist/blazorators/blob/main/src/Blazor.SourceGenerators/Readers/LibDomReader.cs#L17
This would probably be exposed through a new, optional property on the base JSAutoInteropAttribute. And when it is present, it would need to use a non-hardcoded version. This attribute is mapped out into the GeneratorOptions object when compiling. So, the option would need to be added and then used in the correct places. What do you think?

I think that makes a lot of sense. I think the property should be an array of string, so you can add multiple files from the same generation run (if possible). I also think the LibDomReader needs to be renamed to TypesFileReader, and should know if the file path is local and needs a File.Open, or remote and need an HttpClient.
Thoughts?

I love that. I do agree with most of the suggested changes.

Yes, should be File.Open and HttpClient for local and remote.
Yes, LibDomReader should be renamed, but I'd name it TypeDeclarationReader.
Yes, it should be an array.

Hi @robertmclaws - I addressed this in 972658f, I'll publish the NuGet bits soon. I think this is still a bit prescriptive. If you have a repo that you could share, I could have a look at it as well to help my understanding of what exactly you're trying to accomplish.