Corrected skip check for dualstack on CI

Signed-off-by: dereknola<EMAIL_ADDRESS>

Proposed Changes
Fixed checks on dualstack test in CI. Test is currently flaky because depending on how fast/slow the test "skips" through the body, the k3s server may have already crashed from an incorrect startup, causing failures in later tests.

Types of Changes

Verification
export CI=true
go test -v ./test/integration/dualstack/... -run Integration properly skips both the test body and startup/teardown

Linked Issues
https://github.com/k3s-io/k3s/issues/4339

User-Facing Change

Further Comments

Codecov Report

Merging #4427 (8c4bba8) into master (7bd6504) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4427   +/-   ##
=======================================
  Coverage   11.64%   11.64%
=======================================
  Files         135      135
  Lines        9343     9343
=======================================
  Hits         1088     1088
  Misses       8022     8022
  Partials      233      233

Flag
Coverage Δ

inttests
0.74% <ø> (ø)

unittests
11.21% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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 7bd6504...8c4bba8. Read the comment docs.


Add cleanup on rescan

@dangershony @DavidGershony
After removing the change from this commit,
I noticed an issue during rescanning: if another project is found, duplicate projects can appear.
If there's a more effective solution that avoids deleting i'll implement that
p.s, Maybe we can do a softer filter in LookupProjectKeysOnIndexerAsync?

Any update on this PR?

Any update on this PR?

I tried to have a "softer" limiter but it still is the same, so when i have time i'll debug this to see exactly what needs to be excluded

Any update on this PR?

ready to check,
the logic now checks if a project already exists:
if found: updates metadata or project info.
if not: adds it as new.
no clearing, just merging and syncing with storage. avoids duplicates efficiently.


Make symbolicate-linux-fatal and test work with Python 3.

symbolicate-linux-fatal is fixed to work with Python 3 and the tests are improved to work in environments with multiple versions of Python installed.

@swift-ci please smoke test

Does this also still work with Python 2?

@jrose-apple It's meant to. I'm investigating the failure, it's not totally clear whether it's related to this change, but I need access to the workspace (unlikely) or local repo to verify.
For now, I'll ask @alblue to kick off one more set of tests to see if it was one-off.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci Please clean smoke test Linux platform

@swift-ci please smoke test

The latest test failure is due to unrelated issue:
Assertion failed: (!V->hasBrokenDebugInfo() && "Module contains invalid debug info"), function doFinalization, file /Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/llvm/lib/IR/Verifier.cpp, line 4535.

@swift-ci please smoke test

The IRVerifier issue is interesting.  I've been trying to chase that down, but I have a fix for it.  I'll try to get that committed to clang today.

@jimingham Could you take a look at this patch, it's in the same ballpark as https://github.com/apple/swift/pull/7744

@jimingham and @gmilos What is the status of this PR?

I'm not allowed to set the reviewer field. I set it to you @jimingham. If you're OK with the high level approach, I can rebase the patch to up-to-date master (and make sure it succeeds the checks).

@gmilos can you rebase this one?

@kevints If you wish to take up this patch, you can rebase it yourself and resubmit it.

It's been a year.  @gmilos, I'm going to close this, but it seems like the changes may still be necessary.  Could you either rebase this pull request and reopen it or send us another pull request?


increase the size of the NCI-IDC logo

people said it was too small before.
I think this is a reasonable size, but there's room to make it bigger if people prefer.
Before:

After:

Let's go with this one - thank you!


[otbn,dv] Allow the testbench to trigger IMEM errors in ISS

Optional: I don't find "trash_imem" overly descriptive and a bit slang-y, "invalidate_imem" or something along those lines would be more explicit.

Hmm, maybe. I rather liked the name :-) But it probably isn't sober and upstanding enough! I'll switch to "invalidate".


Fix bad typing on upload functions

What kind of change does this PR introduce?
It simply update the function prototype of upload to type correctly the file argument
What is the current behavior?
The upload function implements the management of Bytes/IO-like buffers, but the types of the functions doesn't allow their use.

Tests are failing because of the odd style changes introduced in this PR that Black (the code formatter) doesn't like. Please run Black on the changed files.

Done!

Thanks!


CREATE TABLE AS SELECT does not work for external tables

Sounds like CTAS does not work with external tables.  Any reasons why this should not be supported? We can contribute a patch if there is agreement.
presto> create table anoopj3.customer WITH (format = 'ORC', external_location='s3://anoopj-bucket/customer/') as select * from tpcds.sf100.customer;
Query 20190705_175533_00057_txqsu failed: External tables cannot be created using CREATE TABLE AS

The above error is coming from here.
Expected result: The above table should be created successfully with the location and format specified in the CTAS statement.

cc @dain @electrum

The only reason that I see not to implement this is that subsequent DROP TABLE will leave data behind.
Maybe what we actually want is the ability to create non-external (managed) tables with specified location?
E.g. WITH (format = 'ORC', location=....)
Today, a workaround is to CREATE SCHEMA somewhere_else WITH (location=....) and create tables within that schema.
This works, but is verbose a and doesn't allow to use arbitrary locations (path's last component must be equal to the table name).

Agree that both approaches (allowing CTAS with external tables or allowing managed tables to have arbitrary locations) can work.

Both seem fine. These restrictions were put in place because allowing users to do them seemed like a bad idea (files in random places), but we could allow them with config flags so that administrators can disable the behavior.

We should allow creating external tables using CREATE TABLE AS if hive.non-managed-table-writes-enabled, just as we allow inserts.

Actually we would like to "leave data behind", as we would like to "export" a query result-set to a specific location.

Fixed in https://github.com/prestosql/presto/pull/2669


Add a "card" testimonial in the "what people are saying" section?

Is it possible for us to add a "card" among the tweets section, with something someone said, but hasn't tweeted? In particular, my acquaintance Jeremiah Lowin, founder of Prefect, generously offered a testimonial:

It starts with FROM, it fixes trailing commas, and it's called PRQL?? If this is a dream, don't wake me up.

Would be great to have this there along with his name and role, if the formatting will work.

Done! https://github.com/prql/prql/pull/635
Some preview of the new quoteblock, as always open to changes! 😁


Apply the changes in coverage to HTML report

As of 0.9.2 tarpaulin stores a serialisation of the result TraceMap in target/tarpaulin so it can report the change in coverage between runs. It would be nice if this could be added to the HTML reports.
I admit I have zero front-end skill so if anyone fancies tackling this it would be appreciated

Browsers do not allow to load JSON files from filesystem if main HTML file was opened from local filesystem (file:///). That's why coverage info is embedded into HTML report. Otherwise a webserver is needed.

Could always embed the previous report into the document as well, or take the code from my console reporting and make any changes in the interface to get the deltas and add them to the file


BOT Spam

Description

To start off keep up the great work sharing all these helpful snippets with the community, much appreciated.
It appears the lock[bot] is mass spamming everyone's email. Can you please disable the notification so we don't get bombarded with emails. Thanks in advance.

Uhm, I think the notification setting is based on personal preference instead of repository setting - correct me if I am wrong. We are really sorry about this, it should stop very soon when it processes everything.

Just muted the lock[bot], should be ok now. Sorry for the inconvenience.


Too many confirmation modals

User Impacted
0xc6Ac8FC10242771eA79B1Bdbb4d72f775AF9587F
Discord ID (including number)
danner.eth
Workflow Impacted
Brainstorm
Feature Impacted
Create Marketplace
Issue description
Navigating through the application is made difficult by the high amount of confirmation modals

Submit
Modal Submit
Metamask Submit

I think we can remove the second confirmation is almost all cases
Blocking
no it is not
Relevant log output
No response

This is kind of a limitation of web3 right now. In order for mobile wallets to work the contract write needs to be "prepared" and ready to write at the time of the user tapping a button.
That means we can't do the IPFS upload and execute the write when that's finished.
Hence we need a confirmation step in between.


Improve HTTP probe gap between targets for automatic discovery

Improve HTTP probe gap between targets for automatic discovery
Current behavior (interval_between_targets_msec) is perfect for static target list but target list are updating dynamically (e. g. file_targets) all probes if there are changes has tendency to move to interval beginning.
I spot this possibility from code and made short experiment:

1 probe
6 targets in file
interval_between_targets_msec: 10000
interval_msec: 60000

In beginning if there are no changes everything works as expected (10s between probes):
benner=> SELECT LAG(time, 1) OVER () - time from (SELECT DISTINCT(time) FROM m ORDER BY time) AS m LIMIT 10;
     ?column?
------------------

 -00:00:10.47214
 -00:00:09.223467
 -00:00:10.22748
 -00:00:10.386196
 -00:00:10.057331
 -00:00:09.633533
 -00:00:10.472111
 -00:00:09.223475
 -00:00:10.227483
(10 rows)

Then I manually removing some targets from file end (latest targets to probe in whole interval) and adding it again after update/refresh time. After repeating this few times I'm getting all probes in almost same time:
benner=> SELECT LAG(time, 1) OVER () - time from (SELECT DISTINCT(time) FROM m ORDER BY time) AS m LIMIT 10 OFFSET 50;
     ?column?
------------------
 -00:00:09.536079
 -00:00:00.097285
 -00:00:00.320518
 -00:00:00.08567
 -00:00:49.960433
 -00:00:09.536071
 -00:00:00.097328
 -00:00:00.320667
 -00:00:00.085556
 -00:00:49.960377
(10 rows)

Moved here: https://github.com/cloudprober/cloudprober/issues/25.


Update template.html

@Abhijeet05061998
Hello! I will not merge this PR. Because the changes will modify the main repo. You need to remove the origin repo and link to your own repo.
Check this video in order to do so: https://www.youtube.com/watch?v=soaG3GNSxJY&t


Add Guild#retrieveVanityInvite

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
This allows bots to view how many times the vanity invite has been used. I don't really have a place where I can test this, unfortunately.

Possibly test it in the unofficial DAPI server? Not sure if they allow testing there. You would know better than me.

Waiting for response on https://github.com/discord/discord-api-docs/issues/2004


noOverwriteGlobs will not work in majority of cases in templates using react

After we introduced react engine for templates rendering, this code was not changed
async shouldOverwriteFile(filePath) {
    if (!Array.isArray(this.noOverwriteGlobs)) return true;
    const fileExists = await exists(path.resolve(this.targetDir, filePath));
    if (!fileExists) return true;

    return !this.noOverwriteGlobs.some(globExp => minimatch(filePath, globExp));
  }

the problem is that input here, filePath is always the filePath that includes a file name as it is called in the template.
In nunjuck engine things are easy, we practice to name template files exactly as they are named after they are rendered in output. So for example in html-template we would call a file in template directory by: index.html
In react, you have more flexibility, you can follow the same approach as in nunjuck engine, have separate files templated with react, but you will call the same file I mentioned above index.html.js
Problem
So the code I mentioned above will never work in above mentioned cases as at start the filePath will be index.html.js.
When I use generator in CLI for example, I want to pass --no-overwrite="index.html" as I want to make sure it do not overwrite index.html, I do not want to remember to ignore index.html.js. And even if I remember, it will not work as const fileExists = await exists(path.resolve(this.targetDir, filePath)); will anyway return true and override my file cause index.html.js do not exists in output.
Solution
I think a bigger refactor is needed

noOverwriteGlobs as it is, should accept only patterns/names that I have in output
shouldOverwriteFile should not rely on filenames from template. Fix is not that easy as just remove .js from the filename as can be that template just contains index.js for example.

Some investigation is needed. Probable we should move away from generateFile the usage of shouldOverwriteFile and move it to renderAndWriteToFile where for nunjucks we do it old way and for react, we grab final name of file in output somehow from react 🤔

How about we create a mapping system that understands the relationship between a template file and its intended output file. This could be a configuration file or part of the template metadata. The shouldOverwriteFile function would reference this mapping to determine the actual output file name to check against the noOverwriteGlobs. Would this be a good idea to solve this issue?

I was thhinking of this solution:

Modify the shouldOverwriteFile method to accept a file name without extension
Update the loadTemplateConfig method to parse noOverwriteGlobs as an array of patterns/filenames without extension
Update the usage of shouldOverwriteFile to pass the fileName instead of filePath
Update the renderReact method to get the final file name in output and pass it to the save function

May I ask what the naming convention is in rendering the template output? If the name before the extension is not modified during rendering (which is my understanding based on the codes), we can just compare the name before the ".js" and ".html" to determine whether we should overwrite the current file. Otherwise, we might need to find a way to know what file the template input ".js" and ".jsx" files will generate, which would be more complicated.
I think this is where the filename could be modified?
if (renderedContent.metadata.fileName !== undefined) {
  const newFileName = renderedContent.metadata.fileName.trim();
  const basepath = path.basename(filePath);
  filePath = filePath.replace(basepath, newFileName);
}

But I don't find where the metadata.fileName could be changed. Maybe that's something that could be specified in the template input file? If that's the case then we probably need to find a way to know what files a template input file would generate to check whether a file can be overwritten.

first we need to remember there are users for generator, that do not code templates, they just use them - and therefore do not need to know how they are structured internally. Like with any scenario, where you use a library, and you just care about it's API, and not the actual implementation. So first assumption must be that when users do --no-overwrite="index.html", then do not know if the source file was index.html.js or index.js or whatever.js.html.js (in react render engine, the file name is taken from the <File/> component used inside the file). When users do --no-overwrite="index.html", they do it because they initially generated index.htmlusing the template, and after a week or 2, after updating AsyncAPI document, they want to regenerate output, all files, except ofindex.html`
this is why I'm thinking that probably the only way to make it work is to break into the process when we start writing the file, the renderAndWriteToFile function
I don't think it is possible to do a change in renderReact as the filePath we have access to there, is the path to a template, not output. So we have to accept that event if noOverwriteGlobs is defined, we will have to push all files through rendering. Then the could make a change in saveContentToFile as @lmgyuan suggests, because after react rendering, the metadata that we have access to (that comes from react-sdk) keeps the fileName of the actual output filename. Wouldn't it be best to actually just make sure saveRenderedReactContent has access to defined noOverwriteGlobal and just basing on renderedContent.metadata.fileName skip files that match the pattern?

@derberg Yes! That sounds like a great idea and does not seem to add too much complexity to the codebase. I think following changes might be needed:
saveContentToFile in the react.js should be the place where we check whether we should save a specific content to file. We can add these codes at the end:
// get the final file name of the file
const finalFileName = path.basename(filePath);
// check whether the filename should be ignored based on user's inputs
const shouldOverwrite = !noOverwriteGlobal.some(globExp => minimatch(filePath, globExp));

// Write the file only if it should not be skipped
  if (shouldOverwrite) {
    await writeFile(filePath, content, {
      mode: permissions
    });
  } else {
    console.log(`Skipping overwrite for: ${filePath}`);
  }
};

I thought about how to pass the noOverwriteGlobal  to the method. I think the easiest way is to use global.noOverwriteGlobal = this.noOverwriteGlobs; in the generator.js.
If we don't want to create a such a global object, we can also try something like
const setNoOverwriteGlobal = (globs) => {
  noOverwriteGlobal = globs;
};

const getNoOverwriteGlobal = () => noOverwriteGlobal;

module.exports = { setNoOverwriteGlobal, getNoOverwriteGlobal };

We can also just pass the noOverwriteGlobs as a parameter to the saveContentToFile. This can be done by modifying saveRenderedReactContent so it takes the this.noOverwriteGlobs and passes it to saveContentToFile.
Let me know what you all think! @derberg @utnim2 Thank you so much @derberg for the information about saveContentToFile!

sounds good, but yes, please avoid global objects and rather do composition and simply pass needed variables to functions that need it as argument

@lmgyuan please go ahead if you are interested 🙏🏼 I think everything that we need is clarified. This issue is here for some time already, so whoever had time to comment, already did. Thanks!

Should I go ahead with a PR, or do you think we need more comments before we proceed? :)
Proceed with the PR @lmgyuan

just opened a PR #1191 @derberg @utnim2


Message.edit_attach bugfix

Updated Message.edit_attach to work with inline keyboards

I had to force-push because this repo requires signing all commits


Membrane Live dev

after merging this PR draft (#182) will be cloused.

Unpinning myself from CR as the whole development is done in PRs to this branch

This draft is almost ready so please feel free to comment. Things that are not ready and will be added soon: documentation, better functions names.


Add option to turn off icons rendering

Is it possible to add an option to turn off icons? I personally found them quite noisy especially when you are in a quite nested context. Currently it's inconvenient to override every single icon with empty string.

In fact, I think it would be super cool to provide some kind of formatting function that would receive a symbol name and a symbol kind and would return a formatted string. That would allow to (1) remove icons from rendering, (2) render icons at the end, (3) do not insert nasty whitespaces right after the icon and (4) easily integrate this plugin with other icon maps (i.e. lspkind like plugins).
E.g.
-- no icon
require("nvim-gps").setup({
    format = function(symbol_kind, symbol_name)
        return symbol_name
    end,
})

-- 3rd party icon
local mygpsicons = require("my-gps-icons")
require("nvim-gps").setup({
    format = function(symbol_kind, symbol_name)
        return string.format("%s %s",  mygpsicons[symbol_kind], symbol_name)
    end,
})

Hmm.. Definitely an interesting idea 🤔

If it's ok with you I can work on it and submit a PR.

PRs are always welcome 😄
But thinking more on this, the option will only be useful for removing icons or putting them to end. I am not sure if its worth it to add a separate option just to accommodate this.
I think a better solution would be to make a different function that returns the data in a table format. For example if the get_location returns  class-icon class-name > method-icon method-name
then the new function will return it something like this
{
  {
    icon = class-icon,
    scope = class-name
  },
  {
    icon = method-icon,
    scope = method-name
  }
}

I think this will be a more generalized solution for people who want something other than the regular output provided by get_location. Let me know your thoughts on this.

I'm not sure I'm following you. Basically you're suggesting to have a function to format the whole location, not only a location segment. Is that right? I'm not sure I understand your example though.

I'm not sure I'm following you. Basically you're suggesting to have a function to format the whole location, not only a location segment. Is that right? I'm not sure I understand your example though.

So one function lets say get_location_table will return the context information to the end user in a table format and the get_location function will return a string as it does right now. So the idea being, the end user can use the information in the table however they please.
Example:
get_location returns  foo >  bar
the get_location_table will return the following table for the same.
{
  {
    icon = " ",
    scope = "foo"
  },
  {
    icon = " ",
    scope = "bar"
  }
}

Ah, sorry, I've got confused by scope name since I didn't expect it to contain a symbol name.
Returning table, for instance, won't help you to put the icon at the end or remove the white-space after the item. But I agree that controlling segmented to render could be useful too. In fact, I think representation level should be easily changed by user. One idea I had in my is to have a location line like  foo.bar where you have only a single icon and that icon of the leave node.

Returning table, for instance, won't help you to put the icon at the end or remove the white-space after the item

Yep, that would be up to the user to do string concatenations the way they like their location info to look.

One idea I had in my is to have a location line like  foo.bar where you have only a single icon and that icon of the leave node.

This too can be easily achieved by the end user once they have the information in table format.

I also would love to have an option to disable icons globally :) I previously turned them off manually but with the recent updates that adds more icons it's not very practical anymore.

Sorry this took so long, I have been busy lately. I have a pull request ready, I will merge it once I feel its working fine.


Document rule exclusion pkg to plugin migration from CRS3 to CRS4 in separate blog post

No need to rush this before the CRS4 release. But it's something to accompany the documentation.

@dune73 Do we want to do this in June? Or is there a timeline?

That would be an alternative to the idea to describe how to create your own plugin. And actually quite a good alternative. What do you think?

Ping

Ping @fzipi.

Yes, makes sense. How to create your own plugin, and then mentioning that this is how we migrated things. 👍

Yes, makes sense. How to create your own plugin, and then mentioning that this is how we migrated things. 👍

OK. Consider this done!

Do you want to keep this issue here or transfer to the webpage repo?

I'm all for migration to webpage.
As documented above I had planned to write this for the WAF month media campaign by OWASP's outreach coordinator Jason. Then he left and I did not write this.


SyntaxError: 'yield' inside async function

Traceback (most recent call last):
  File "worker.py", line 2, in <module>
    import trio_amqp
  File "/usr/lib/python3.5/site-packages/trio_amqp/__init__.py", line 45
    yield amqp
           ^

Using python 3.6 will fix that.
I'm not the trio-ampq maintainer, so I don't know if it's supposed to work on python 3.5 or not. But that's 3.6 syntax.

@njsmith Thank you, it can run in python 3.6

It's possible to do async iterators in 3.5, but the compatibility workaround is very annoying when you need to debug anything, so I didn't put it in yet. I'll fix that shortly.

done by now, so closing.


Give space between the bottom card and end of page

It seems like the bottom touch end of the page if we have many card monitor

Thanks!


Panorama is moving the wrong direction

The menu panorama is not moving the correct direction, in LCE it moves to the right, in the mod its moving to the left
Its also not moving at the correct speed by default
Mod:
https://github.com/Wilyicaro/Legacy-Minecraft/assets/65347035/48686406-6f43-4977-85d2-659adc7d32e5
LCE:
https://github.com/Wilyicaro/Legacy-Minecraft/assets/65347035/282834e0-b765-4bae-a203-d933a8e603ee

Thanks for reporting this issue, it was fixed in 1.1.1.


HDFS-16387.[FGL]Access to Create File is more secure.

Description of PR
When creating files through RPC, sometimes a deadlock is triggered.
The purpose of this pr is to make it more secure.
Details: HDFS-16387
How was this patch tested?
Use the existing test, that's ok.

There are some unit tests that failed, but only temporarily.
Can you help review this pr @xinglin @prasad-acit .
Thank you very much.

@zhangdongtao , thank you for helping review this pr.
The FGL module has been verified in our production environment, with some performance improvements and some issues found.


[v2int/2.1] Finish cherry-pick of #13029: type test configuration and generation

A partial cherry-pick of #13029 to the release/v2int/2.1 branch was accidentally pushed to the main repo. This PR completes that incomplete commit.
CI passes except for the base branch labeler which is not required.

Thanks for the review, @alexvy86!


NodeJs hangs

In NodeJs it just hangs when using the library. e.g the following example returns success, but never exits.
npm i keen-js
var Keen = require('keen-js');

var client = new Keen({
  projectId: "YOUR_PROJECT_ID",
  writeKey: "YOUR_WRITE_KEY"
});

var purchaseEvent = {
  id: 1111,
  item: 'golden gadget',
  price: 25.50,
  referrer: 'nodejs',
  keen: {
    timestamp: new Date().toISOString()
  }
};

client.recordEvent('purchases', purchaseEvent, (err, res) => {
  if (err) {
    console.log(err);
  }
  else {
    console.log(res);
  }
});

hi @TheCodeKing! what version of node are you using?

Confirmed this issue with someone else too, looks like something is causing Node from closing. Looking into now.

@TheCodeKing thanks for reporting- to help us triage a bit better, can you share which version of keen-js you're running?

Sure sorry, should have mentioned. It's node version v7.9.0 with keen-js 4.0.1.

@TheCodeKing I tracked the issue down. If you're not using the deferEvent queueing mechanism (assuming you're not) call client.queueInterval(0); after instantiating the client. This will allow the process to exit properly.
This is a bug, and I've mark it as such – also moving the issue to the keen-tracking repo: https://github.com/keen/keen-tracking.js/issues/84

Great thanks for the workaround.

@TheCodeKing this fix has been released with v4.1.0 – thanks for helping triage this one! 🚀


Example of using Google Analytics with electron-cookies

Is there an example of using GA with electron-cookies? I'm a bit confused on how to get started. Thanks!

I would also love an example!

:+1:

I have no idea how to create the account... because google analytics is asking for an URL... and of course I have no URL.

Hello everyone,
I have tried to get google analytics to work on my electron app using electron cookies and localStorage with little luck.
Has anyone figured out how to solve this issue?  @jingweno @molster @mano-mykingdom @gsantome
Thanks!
Chiara

+1

+1 please

+1
however, for now, check out this gist. It modifies cookies directly to trick google analytics into thinking the URL is not a file:// URL.

+1 really would be great to have an example

+1 need an example for how to use this package.

+1

+1 there needs to be an example of how to use the package.


daemon.err wifi-presence[6693]: Error: unable to connect to hostapd control socket "/var/run/hostapd/wlan0": ping error: read error from "PING" command: read unixgram /tmp/wp.wlan0->/var/run/hostapd/wlan0: i/o timeout

Hello there
I get this error in the logs when I start wifi-presence:
daemon.err wifi-presence[6693]: Error: unable to connect to hostapd control socket "/var/run/hostapd/wlan0": ping error: read error from "PING" command: read unixgram /tmp/wp.wlan0->/var/run/hostapd/wlan0: i/o timeout
ls -lrt /var/run/hostapd/
srwxrwx---    1 network  network          0 Oct 23 17:45 global
srwxrwx---    1 network  network          0 Oct 23 17:45 wlan0
srwxrwx---    1 network  network          0 Oct 23 17:45 wlan1

something to do with ujail

Temporary solution, delete or move /etc/capabilities/wpad.json  file:
root@OpenWrt:~# mv /etc/capabilities/wpad.json ./

Please try running wifi-presence using ujail with the same configuration options as hostapd.
For example, on my OS I see hostapd being run with these settings:
# ps w | grep hostapd | grep ujail
 1575 root      2656 S    {hostapd} /sbin/ujail -t 5 -n hostapd -U network -G network -C /etc/capabilities/wpad.json -c -- /usr/sbi

I'm then able to run wifi-presence in a similar way:
# /sbin/ujail -U network -G network -C /etc/capabilities/wpad.json -n wifi-presence /tmp/wifi-presence -mqtt.addr=tcp://mosquitto:1883 -verb
ose=1

Once there's more documentation for ujail I'll work on incorporating this into the run script.
Thanks for the bug report.

I also ran intro this issue and discovered that simply running the service as the network user solves the problem by adding procd_set_param user network to the init file.
Alternatively, running wifi-presence in a jail with the same capabilities as hostapd also seems to solve the issue:
procd_add_jail fdfd log requirejail
procd_set_param capabilities /etc/capabilities/wpad.json

I have the same issue

Even at 0.3.0 I had to do the procd_set_param user network trick in /etc/init.d/wifi-presence


RLock.isLocked() get hung when I disable/enable my local network

I was crashed into a blocking issue when I was doing some configuration on my windows laptop. RLock.isLocked()  got hung forever with callstack as following:
Callstack:
Object.wait(long) line: not available [native method]
DefaultPromise<V>(Object).wait() line: 503
DefaultPromise<V>.awaitUninterruptibly() line: 286
DefaultPromise<V>.awaitUninterruptibly() line: 32
CommandExecutorService.get(Future<V>) line: 145
CommandExecutorService.read(String, Codec, RedisCommand<T>, Object...) line: 160
CommandExecutorService.read(String, RedisCommand<T>, Object...) line: 155
RedissonLock.isLocked() line: 389

The issue is repreduceable. Steps to reproduce the issue:
Code:
 RLock mRLock = //initialize the redisson lock
 if (mRLock.isLocked()) {
 }

My os is windows, and I haven't tested it on linux.
Steps: disable network.  Then enable network. The program will be blocked with the callstack I pasted

Ok. I'll check it

I got timeout error after 60 seconds (could be changed via timeout config param).
org.redisson.client.RedisTimeoutException: Command execution timeout for /<IP_ADDRESS>:7002
at org.redisson.client.RedisConnection.await(RedisConnection.java:104)
at org.redisson.client.RedisConnection.sync(RedisConnection.java:119)
Redisson version is 2.1.4

It seems like you used an old version, because code line positions in your stack trace differ from latest Redisson version.


Delete requests are not routed

Delete routes are currently not routed. Just an extremely small bug where put routes were generated twice.

Thanks!


⚠ Bofrost.at has degraded performance

In 3747014, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1391 ms

Resolved: Bofrost.at performance has improved in ed6a08c after 6 minutes.


Update README.md

Looks like react-templates hasn't been updated in ~2 years, and is not used a whole lot according to NPM. Swapping it out for Paperclip!

Thank you! 🎉


Update scalafmt-core to 3.3.1

Updates org.scalameta:scalafmt-core from 3.3.0 to 3.3.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:n:2

Codecov Report

Merging #607 (4e6ebc5) into master (9fe93ef) will increase coverage by 0.34%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #607      +/-   ##
==========================================
+ Coverage   62.54%   62.88%   +0.34%
==========================================
  Files          39       39
  Lines        1303     1288      -15
  Branches        7        7
==========================================
- Hits          815      810       -5
+ Misses        488      478      -10

Impacted Files
Coverage Δ

...re/src/main/scala/laserdisc/protocol/ServerP.scala
25.00% <ø> (ø)

core/src/main/scala/laserdisc/laserdisc.scala
59.37% <0.00%> (-4.52%)
:arrow_down:

core/src/main/scala/laserdisc/protocol/RESP.scala
91.26% <0.00%> (-0.07%)
:arrow_down:

cli/src/main/scala/laserdisc/cli/CLI.scala
0.00% <0.00%> (ø)

...src/main/scala/laserdisc/protocol/SortedSetP.scala
0.97% <0.00%> (+0.02%)
:arrow_up:

core/src/main/scala/laserdisc/protocol/GeoP.scala
86.61% <0.00%> (+0.60%)
:arrow_up:

...e/src/main/scala/laserdisc/protocol/ClusterP.scala
68.91% <0.00%> (+1.36%)
:arrow_up:

...e/src/main/scala/laserdisc/protocol/Protocol.scala
100.00% <0.00%> (+5.00%)
:arrow_up:

.../scala/laserdisc/protocol/LenientStringCodec.scala
66.66% <0.00%> (+16.66%)
:arrow_up:

Continue to review full report at Codecov.

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


Notifications get cut in iPhoneX.

Hi, please have a look in this issue. As the notifications get cut on top in iPhoneX.

Can you provide some more detail on this. Currently this is how it looks when i run it.

This is what I'm getting.

I think I got the issue as in my attached screen the status bar is hidden that's why the notification is hiding under the notch in iPhoneX. The code inside the CRNotification is this - 			self.frame.origin.y = UIApplication.shared.statusBarFrame.height + 10
So I think this might the cause of issue.
So can you help me in this?

Aha. I will have a look at this when i got the time. I will try to see if i can do it tonight.

Hi, did you get the time to look on this issue?

I have fixed it, will push it later today.

Thanks a lot:)

Fixed in 1.1.6 🙂


Remove num_assets from NoteMetadata and make NoteInputs dynamically sized

Remove num_assets from NoteMetadata
Currently num_assets is part of the public info associated with a note, it is embedded into the NoteMetadata.  However, this is not a hard requirement.  Instead we should consider removing this field from the NoteMetadata and instead provide the number of assets via non-determinism.
https://github.com/0xPolygonMiden/miden-base/blob/63add9109599eba92e918a264ad3294c849eb163/objects/src/notes/metadata.rs#L3-L13
Allow a dynamic number of NoteInputs
Currently the number of NoteInputs is statically set to 16 elements (4 words).  As part of #283 we have migrated to an note input ingestion patter that uses a kernel procedure and public wrapper that reads note inputs to memory in the note context and validates them by comparing to the input commitment associated with the note.  As discussed in #279 we would like to allow for a dynamic number of NoteInputs to be provided.  This can be done by allowing the number of note inputs to be provided via the advice provider when we read the note inputs.
## Handling odd number of assets and inputs
As mentioned in #279 there is a potential attack vector where in the case of an odd number, n, of note assets or note inputs the prover can lie and say there is n+1.  This will still produce the same hash digest if we naively initiate the hasher capacity and pad the hasher rate when computing the hash. Instead we should implement a more robust solution that is not susceptible to this attack vector.

We should migrate to using std::mem::pipe_preimage_to_memory for both NoteInputs and NoteVault ingestion.

Is this closed by https://github.com/0xPolygonMiden/miden-base/pull/414?

The first part is - but making inputs dynamic is still outstanding.

Closed by #455.


python-3-miniforge devcontainer (compatible with existing python-3-miniconda devcontainer)

Last year, the Anaconda repository became fee-based for large commercial organizations.
That's one of the reasons that some people want to use conda-forge instead of the Anaconda repository.
https://www.anaconda.com/blog/anaconda-commercial-edition-faq
There is a project called miniforge that provides a conda installer that assumes the use of conda-forge, and also provides Docker images.
It would be useful for those who want to use conda-forge to have a devcontainer with miniforge installed instead of miniconda.
https://github.com/conda-forge/miniforge
https://github.com/conda-forge/miniforge-images
For reference, miniforge is used in the Docker images provided by the Jupyter Project. (https://github.com/jupyter/docker-stacks/pull/1189)
https://github.com/jupyter/docker-stacks/blob/master/base-notebook/Dockerfile

Just to add that we are also keen on a miniforge container
@Asureda @jordifradera

That would be very nice to have miniforge supported here and more specifically mambaforge!

I built a dev container config based on the Micromamba docker image in case it can be useful here: https://github.com/datamol-org/datamol/tree/main/.devcontainer

Closing in favor of the Dev Container Feature ghcr.io/rocker-org/devcontainer-features/miniforge.


UI related fixes

Go through Refractory UI pdf for UI tactics explained from a developer's point-of-view. It will help you to resolve all UI related bugs on the current IYCN website. @KamalNanda

no bugs left :)


fix(db): improve performance of analytics queries

Notes to Reviewer

As a reviewer, please pay particular attention to the following areas when reviewing this PR and tick the above boxes after you have completed the steps.
INX Changes

[x] Run chronicle using an INX connection.

Database Changes

[x] Review database queries for correctness/conciseness.
[x] Ensure queries are supported by indexes if needed.
[x] Check for breaking changes in the data model and matching (conventional) commit message prefix.

Tests showed no performance improvements.


Error during build

I'm trying to migrate to Now v2 with a new clone of this Hazel server, my config looks like this:
now.json
{
  "version": 2,
  "name": "brandy-hazel-server",
  "alias": ["hazel-server-qrpzcymewp"],
  "builds": [
    {
      "src": "lib/server.js",
      "use": "@now/node"
    }
  ],
  "routes": [
    {
      "src": ".*",
      "dest": "/lib/server.js"
    }
  ]
}

Now CLI
now -e ACCOUNT="itsnwa" -e REPOSITORY="brandy" -e TOKEN="<access_token>" -e URL="<same_as_alias_in_config(https://hazel-server-qrpzcymewp.now.sh)>"
When I look at the log in the zeit dashboard, I get this:
START RequestId: adb906da-6a33-4c6a-80cb-4d419bea9277 Version: $LATEST
2019-08-19T17:48:22.228Z	adb906da-6a33-4c6a-80cb-4d419bea9277	Cannot find module '.'
2019-08-19T17:48:22.228Z	adb906da-6a33-4c6a-80cb-4d419bea9277	Did you forget to add it to "dependencies" in `package.json`?
END RequestId: adb906da-6a33-4c6a-80cb-4d419bea9277
REPORT RequestId: adb906da-6a33-4c6a-80cb-4d419bea9277
Duration: 42.09 ms  Billed Duration: 100 ms   Memory Size: 3008 MB  Max Memory Used: 22 MB
RequestId: adb906da-6a33-4c6a-80cb-4d419bea9277 Process exited before completing request

https://github.com/zeit/hazel/pull/68


ADD doesn't expand archives

There's this fun Docker behavior where ADD (but not COPY!) will expand a tarball instead of just copying it into place as-is.
If <src> is a local tar archive in a recognized compression format (identity, gzip, bzip2 or xz) then it is unpacked as a directory. Resources from remote URLs are not decompressed. ... Whether a file is identified as a recognized compression format or not is done solely based on the contents of the file, not the name of the file.
imagebuilder doesn't do that. This would be useful to expand source archives from lookaside in OSBS. You can work around it with RUN tar fx or whatever but it's one more difference to have to account for.
🐚 cd $(mktemp -d)
[tmp.aqbI4PmaDS] 🐚 touch foo
[tmp.aqbI4PmaDS] 🐚 tar fc foo.tar foo
[tmp.aqbI4PmaDS] 🐚 cat <<DF > Dockerfile
> FROM fedora:28
> WORKDIR /tmp
> ADD foo.tar .
> RUN ls | grep foo
> DF
[tmp.aqbI4PmaDS] 🐚 imagebuilder .
--> FROM fedora:28 as 0
--> WORKDIR /tmp
--> ADD foo.tar .
--> RUN ls | grep foo
foo.tar
--> Committing changes ...
--> Done
[tmp.aqbI4PmaDS] 🐚
[tmp.aqbI4PmaDS] 🐚
[tmp.aqbI4PmaDS] 🐚 docker build .
Sending build context to Docker daemon 13.31 kB
Step 1/4 : FROM fedora:28
 ---> 75aeb7f897fd
Step 2/4 : WORKDIR /tmp
 ---> Using cache
 ---> 41c3743a8378
Step 3/4 : ADD foo.tar .
 ---> 329f459cf92a
Removing intermediate container 80b097ebbd16
Step 4/4 : RUN ls | grep foo
 ---> Running in 34e030016475
foo
 ---> c5ae75b6e86b
Removing intermediate container 34e030016475
Successfully built c5ae75b6e86b

FWIW buildah seems to handle this the same way docker does:
STEP 4: RUN ls | grep foo
foo

/remove-lifecycle stale
/lifecycle frozen


Change pytube to yt-dlp for youtube loader

🐛 Describe the bug
pytube has an issue where it will refuse to download a video saying it is age restricted even though it is not https://github.com/pytube/pytube/issues/1712 . yt-dlp does not have that problem and actually returns more data about the video, like most replayed segments. Below code has the link to the video that pytube refused to download
from embedchain import Pipeline as App
import os

os.environ["OPENAI_API_KEY"] = "xxx"

app = App()
app.add('https://www.youtube.com/watch?v=4cUtpiDwU0s', data_type='youtube_video')
app.query("What is the video about?")

Even this Langchain tutorial uses yt-dlp .
It is an easy fix and would require change in this file https://github.com/langchain-ai/langchain/blob/c2d1d903fa35b91018b4d777db2b008fcbaa9fbc/langchain/document_loaders/youtube.py#L59C18-L59C24 .
Let me know and I can make PR.

Hey, thanks for opening the issue. Definitely in support of this.
Please feel free to open a PR. Thanks!

Hey @KobaKhit any updates on this? Would be great to migrate to yt_dlp soon. Thanks!

Hey @KobaKhit any updates on this? Would be great to migrate to yt_dlp soon. Thanks!

@deshraj @Dev-Khant I have resolved this issue and created a pull request by the name fix/migrate-pytube-to-ytdlp but its been 11 hours and CI has not completed any build checks. Is there anything wrong I am doing or is there some sort of queue?

Hey @KobaKhit any updates on this? Would be great to migrate to yt_dlp soon. Thanks!

@deshraj @Dev-Khant I have resolved this issue and created a pull request by the name fix/migrate-pytube-to-ytdlp but its been 11 hours and CI has not completed any build checks. Is there anything wrong I am doing or is there some sort of queue?

Hi @MoizKhuzema thanks for working on this issue, will review the PR and CI build checks were yet to be started.

Hey @KobaKhit any updates on this? Would be great to migrate to yt_dlp soon. Thanks!

@deshraj @Dev-Khant I have resolved this issue and created a pull request by the name fix/migrate-pytube-to-ytdlp but its been 11 hours and CI has not completed any build checks. Is there anything wrong I am doing or is there some sort of queue?

Hi @MoizKhuzema thanks for working on this issue, will review the PR and CI build checks were yet to be started.

Noted


Discovery - a fresh approach to preferences and typeIndexes

discoveryLogic is a start from scratch ... with communities built  into it.
So you can do discovery on other people not just logged on user.

Much leaner and clearer code.
I will ask in the team meeting too: what are community type indexes?

Hey, I know this has been merged already but we talked about doing a review in the SolidOS meeting, so I'm leaving my feedback here.
Overall I think it's quite easy to understand and readable, here's some things that come to mind:

I'd avoid having commented code in the repository, it's ok to have it locally but it shouldn't be committed. Things like the commented console.log or try/catch hurt readability.
It seems like type indexes are created empty and later populated. It'd be better to create the files directly with the type registrations to reduce network requests and possible conflicts.
There is a registerInstanceInTypeIndex method but not registerInstanceContainerInTypeIndex? I guess it depends on the app, but in my apps so far I've only been using container registrations. I guess if this is intended for reuse, it should implement both.
The getScopedAppInstances method name is a bit confusing. After looking at the implementation I think I understand what it does (getting instances registered in the type index). But I'm not sure what this has to do with an "App" (it made me think of the trusted apps registration, but I don't think it's related).
I've noticed that this also creates a preferences file, but so far I haven't used that file in my apps at all, I've only been looking at the profile document. I also didn't know anything about community type indexes. I guess I should learn more about this, and it seems like part of it is already addressed in the draft :).

Something I also mentioned in the call is that I probably wouldn't use this in my apps because it requires rdflib, which is a heavy dependency that I'm not using. So far I've implemented this just using fetch requests (and N3.js to parse turtle).
In case you're interested to see how I've implemented it, you can find it in @noeldemartin/solid-utils, and here's how I'm using it in Media Kraken. As I mentioned, there are some things I just learned by looking at this code so I'll probably change mine at some point.


Is it possible to disable backdrop so I can press other buttons underneath. In addition is it possible to start the slideIn animation from a certain height.

Using modal for creating a pop up menu from the bottom using a toolbar.
What I need to do is -

[ ] Use the toolbar to close one modal and popup another modal.
[ ] Slide in the modal from behind the toolbar.
[ ] Press upper area of backdrop to close the modal.

I'm using React-Native app without Expo.

any updates on this? Especially being able to start the slideIn animation from a certain height?

Also interested

i need it disabled as well


Don't include .txt files in the package

This patch removes the *.txt glob from setup.py because it breaks with recent setuptools/wheel and was only used for CHANGES.txt:
Building wheels for collected packages: pyramid-dogpile-cache2
  Running setup.py bdist_wheel for pyramid-dogpile-cache2 ... error
  Complete output from command /Users/andy/.virtualenvs/tmp-c9d4acdfc52d4197/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/bw/ghklm2fs6bx_x9x_f0wg5kph0000gn/T/pip-9EX423-build/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/bw/ghklm2fs6bx_x9x_f0wg5kph0000gn/T/tmpkwPEjapip-wheel-:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib
  creating build/lib/pyramid_dogpile_cache2
  copying src/pyramid_dogpile_cache2/__init__.py -> build/lib/pyramid_dogpile_cache2
  copying src/pyramid_dogpile_cache2/cache.py -> build/lib/pyramid_dogpile_cache2
  creating build/lib/pyramid_dogpile_cache2/tests
  copying src/pyramid_dogpile_cache2/tests/__init__.py -> build/lib/pyramid_dogpile_cache2/tests
  copying src/pyramid_dogpile_cache2/tests/conftest.py -> build/lib/pyramid_dogpile_cache2/tests
  copying src/pyramid_dogpile_cache2/tests/test_cache.py -> build/lib/pyramid_dogpile_cache2/tests
  copying src/pyramid_dogpile_cache2/tests/test_configuration.py -> build/lib/pyramid_dogpile_cache2/tests
  running egg_info
  creating src/pyramid_dogpile_cache2.egg-info
  writing requirements to src/pyramid_dogpile_cache2.egg-info/requires.txt
  writing src/pyramid_dogpile_cache2.egg-info/PKG-INFO
  writing top-level names to src/pyramid_dogpile_cache2.egg-info/top_level.txt
  writing dependency_links to src/pyramid_dogpile_cache2.egg-info/dependency_links.txt
  writing manifest file 'src/pyramid_dogpile_cache2.egg-info/SOURCES.txt'
  reading manifest file 'src/pyramid_dogpile_cache2.egg-info/SOURCES.txt'
  writing manifest file 'src/pyramid_dogpile_cache2.egg-info/SOURCES.txt'
  error: Error: setup script specifies an absolute path:

      /private/var/folders/bw/ghklm2fs6bx_x9x_f0wg5kph0000gn/T/pip-9EX423-build/CHANGES.txt

  setup() arguments must *always* be /-separated paths relative to the
  setup.py directory, *never* absolute paths.

This seems to have been copy&paste cargocult from a setup.py template file anyway. Thanks for the catch! I'll cut a 1.0.3 in a moment.


Create tech entity for portfolio

The entity for the portfolio called tech is used by the entity called project that will be added in the future.

closed, see #9


change @root to %root

Along with https://github.com/bitovi/canjs/pull/1976, these changes support https://github.com/donejs/donejs/issues/162.

Issue is now https://github.com/donejs/donejs/issues/81


[HUDI-1129] Deltastreamer Add support for schema evolution

What is the purpose of the pull request
When schema is evolved but producer is still producing events using older version of schema, Hudi delta streamer is failing. This fix is to make sure delta streamer works fine with schema evoluation.
Related issues #1845 #1971 #1972
Brief change log

Update avro to spark conversion method AvroConversionHelper.createConverterToRow to handle scenario when provided schema has more fields than data (scenario where producer is still sending events with old schema)
Introduce new payload class called BaseAvroPayloadWithSchema. This is used to store the writer schema part of payload. Currently, HoodieAvroUtils.avroToBytes uses the schema of the data to convert to bytes, but HoodieAvroUtils.bytesToAvro uses provided schema. Since both may not match always, it results in error. By having data's schema as part of payload, we can ensure, same schema is used for converting avro to bytes and bytes back to avro.

Verify this pull request
This change added tests and can be verified as follows:

Added unit test to verify schema evoluation Thanks @sbernauer for unit test

Committer checklist

[x] Has a corresponding JIRA in PR title & commit

[x] Commit message is descriptive of the change

[x] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@bvaradar @sbernauer

Hi @sathyaprakashg, thanks for your work!
When i move the new field evoluted_optional_union_field to a place not at the end of the schema (somewhere in the middle) i get the following exception:
java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Iterable.
This makes sense, since now the ids of the fields dont line up any more. So reducing the length to the minimum is not sufficient here.
I suggest using the field names instead of the ids (which dont match up any more after a new field in the middle). See https://github.com/sbernauer/hudi/commit/1adbc7bddac431bb060880efab2d3979840765da#diff-3c046573a91f36ba0f12dad0e3395dc9R139
Should i open a PR for this change or do you want to modify yours?
Cheers,
Sebastian

Thanks @sbernauer for the code example. I fixed it now

@vinothchandar Sure, I will start looking into using writer and reader schema. Once that looks good, then i will remove the new Schema provide class i added

@vinothchandar I updated the code to use reader and writer schema for avro payload. Please review it

@sathyaprakashg Looks good to me. Can you please see why the build is failing ?

@n3nash I am working on fixing build issue and will have that fix pushed soon. I would like to point out that with this new approach, we are stroing writer schema part of payload, which means, size of dataframe would increase to store same schema information with each record. Any suggestion on optimizing this?

Below issue was causing build failure and i fixed it now by implementing a method HoodieAvroUtils.addNamespaceToFixedField. Not sure whether this is the best way to fix this issue. So, let me know if any sugestions.
Below is the height field defintion in triprec schema
  {
      "name": "height",
      "type": {
        "type": "fixed",
        "name": "abc",
        "size": 5,
        "logicalType": "decimal",
        "precision": 10,
        "scale": 6
      }
    }

When we use org.apache.spark.sql.avro.SchemaConverters.toAvroType method in AvroConversionHelper to convert Spark data type to avro type, spark-avro gives name as fixed and also adds namespace to it as per code here
  {
      "name": "height",
      "type": {
        "type": "fixed",
        "name": "fixed",
        "namespace": "hoodie.source.hoodie_source.height",
        "size": 5,
        "logicalType": "decimal",
        "precision": 10,
        "scale": 6
      }
    }

First schema is used as reader schema and second one is used as writer schema in HoodieAvroUtils.bytesToAvro. This results in below error.
ERROR org.apache.hudi.io.HoodieWriteHandle  - Error writing record HoodieRecord{key=HoodieKey { recordKey=c597b0c2-6f07-4c8e-b239-2752b60e0449 partitionPath=default}, currentLocation='null', newLocation='null'}
org.apache.avro.AvroTypeException: Found hoodie.source.hoodie_source.height.fixed, expecting abc
  at org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:292)
  at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
  at org.apache.avro.io.ValidatingDecoder.checkFixed(ValidatingDecoder.java:135)
  at org.apache.avro.io.ValidatingDecoder.readFixed(ValidatingDecoder.java:146)
  at org.apache.avro.generic.GenericDatumReader.readFixed(GenericDatumReader.java:342)
  at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:180)
  at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
  at org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:232)
  at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:222)
  at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:175)
  at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
  at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:145)
  at org.apache.hudi.avro.HoodieAvroUtils.bytesToAvro(HoodieAvroUtils.java:142)
  at org.apache.hudi.common.model.OverwriteWithLatestAvroPayload.getInsertValue(OverwriteWithLatestAvroPayload.java:70)
  at org.apache.hudi.execution.LazyInsertIterable$HoodieInsertValueGenResult.<init>(LazyInsertIterable.java:92)
  at org.apache.hudi.execution.LazyInsertIterable.lambda$getTransformFunction$0(LazyInsertIterable.java:105)
  at org.apache.hudi.common.util.queue.BoundedInMemoryQueue.insertRecord(BoundedInMemoryQueue.java:170)
  at org.apache.hudi.common.util.queue.IteratorBasedQueueProducer.produce(IteratorBasedQueueProducer.java:46)
  at org.apache.hudi.common.util.queue.BoundedInMemoryExecutor.lambda$null$0(BoundedInMemoryExecutor.java:92)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)

In order to fix this issue, approach i took is change the field name from abc to fixed in all the schema used in test and also add namespace to reader schema if it exists in writer schema for fixed field.
If we just rename the field from abc to fixed but don't add namespace, then we get below error
org.apache.avro.AvroTypeException: Found hoodie.source.hoodie_source.height.fixed, expecting fixed

@sathyaprakashg Thanks for looking into this. I see that the org.apache.spark.sql.avro.SchemaConverters uses the fixed name so it's difficult to workaround it. Your approach sounds fine to me as long as it does not break any existing tests.  Left a couple of comments for changes.

Lagging a bit, will circle back on this.

@sathyaprakashg thanks for the explanation, please update the PR accordingly, rebase and squash the commits.

@n3nash Changes are done. Please review it when you get time

@n3nash : Looks like you folks(you and Balaji) have lot of context wrt this patch. I am afraid if I review this, might miss some corner cases or might have to anyways wait for your review. Can you take this up and get it landed for upcoming release.

@sathyaprakashg Can you rebase this PR ? I'll wait for sometime before I'll give it a shot by myself.

@sathyaprakashg @n3nash and others thanks for your work! I have rebased the commit for the current master and resolved all the conflicts here https://github.com/sbernauer/hudi/commit/b383883742ad63899fa43584ab7a10cd72d533fe
@sathyaprakashg this may help you while rebasing

@n3nash I rebased the PR. Thanks @sbernauer for help

Hi together,
we sadly can't do schema evolution for 10 months now (https://github.com/apache/hudi/issues/1845) and have to rely on ugly workarounds.
Many thanks for working together to find a solution!
We have tested this patch out in our test systems and everything worked fine. When we rolled it out to production we noticed that the Memory consumption increased by multiple times. This caused our executors to spill to disk and crash.
So i would like to highlight the comment of @sathyaprakashg

@n3nash I am working on fixing build issue and will have that fix pushed soon. I would like to point out that with this new approach, we are stroing writer schema part of payload, which means, size of dataframe would increase to store same schema information with each record. Any suggestion on optimizing this?

Regards,
Sebastian

Actually pretty bummed to hear that. @nsivabalan @n3nash can we do something here to prioritize this? Or at least source more help from dev list/slack?

I've been observing this issue for several months now. From my point of view that is a big problem for the meaningful use of hudi. I am amazed that this is not classified as a mission critical.

I actually see that @n3nash has approved this several months ago, pending the perf  issue that @sathyaprakashg himself has pointed out. Agree with you,. Let me gather some context and see how we can move forward. I also wonder
Any reason we have not landed this @n3nash? any open items that you see besides the perf issue. (storing schema in payload should be avoided at all costs). This is what a schema registry solves for.

Yes I am following this PR for the last 6 months.
When I presented to my teammate I thought it works out of the box but it didn't. Kind of sad.
Please help put more focus on it.
Thanks.

@vinothchandar We have found a way to avoid BaseAvroPayloadWithSchema. We are validating some more corner cases with respect to schema evolution in the PR @nsivabalan has pointed out.

@sathyaprakashg and others: Can you folks check out https://github.com/apache/hudi/pull/2927 and see if it solves the schema evolution problem you guys are facing.

@sbernauer : We would appreciate if you can try out our fix https://github.com/apache/hudi/pull/2927 and let us know if it work for you. We can sync up via slack if you are available so that we can have quick turn around or clarify any doubts you have along the way. If you are open, let us know your slackId, we can create a group and go about.

Sure @nsivabalan i will try out the fix in https://github.com/apache/hudi/pull/2927 and give feedback.
Thanks for the invitation for slack, i appreciate! My memberId is U022VCGBVLM

@sbernauer : sorry I might need your email to invite to apache hudi's slack workspace.

No problem. It is<EMAIL_ADDRESS>

Hi @nsivabalan,
we have multiple schema versions of the events we consume. We use kafka and Confluent Schema Registry. I think all the events in kafka are written with schema version 9.
My testcase would be to read some Events with schema version 8, switch to schema version 9 and consume some evolved Events. We use a COW Table and INSERTs only (with dropping of duplicates).
With the patch in https://github.com/apache/hudi/pull/2927 starting from an empty directory the ingestion throws this exception in the executors. Reading with schema version 9 works fine.
schemaRegistryUrl: https://eventbus-schema-bs-qa.server.lan/subjects/MyEvent-v1/versions/8
# Sets
--schemaprovider-class org.apache.hudi.utilities.schema.FilebasedSchemaProvider
# and
curl --silent $SCHEMA_REGISTRY_URL | jq -r -c '.schema' | jq '.' > /tmp/schema_source.json
cp /tmp/schema_source.json /tmp/schema_target.json

21/05/25 14:45:55 ERROR HoodieWriteHandle: Error writing record HoodieRecord{key=HoodieKey { recordKey=sourceEventHeader.happenedTimestamp:1621953763077,sourceEventHeader.eventId:143d1259-01c2-4346-a3c4-85b2e3325ff3 partitionPath=2021/05/25}, currentLocation='null', newLocation='null'}
 java.lang.ArrayIndexOutOfBoundsException: 22
        at org.apache.avro.io.parsing.Symbol$Alternative.getSymbol(Symbol.java:424)
        at org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:290)
        at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
        at org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:267)
        at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:179)
        at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
        at org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:232)
        at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:222)
        at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:175)
        at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
        at org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:232)
        at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:222)
        at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:175)
        at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
        at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:145)
        at org.apache.hudi.avro.HoodieAvroUtils.bytesToAvro(HoodieAvroUtils.java:136)
        at org.apache.hudi.avro.HoodieAvroUtils.bytesToAvro(HoodieAvroUtils.java:126)
        at org.apache.hudi.common.model.OverwriteWithLatestAvroPayload.getInsertValue(OverwriteWithLatestAvroPayload.java:69)
        at org.apache.hudi.execution.HoodieLazyInsertIterable$HoodieInsertValueGenResult.<init>(HoodieLazyInsertIterable.java:88)
        at org.apache.hudi.execution.HoodieLazyInsertIterable.lambda$getTransformFunction$0(HoodieLazyInsertIterable.java:101)
        at org.apache.hudi.common.util.queue.BoundedInMemoryQueue.insertRecord(BoundedInMemoryQueue.java:190)
        at org.apache.hudi.common.util.queue.IteratorBasedQueueProducer.produce(IteratorBasedQueueProducer.java:46)
        at org.apache.hudi.common.util.queue.BoundedInMemoryExecutor.lambda$null$0(BoundedInMemoryExecutor.java:92)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

The schema difference. The field is nested multiple times.
$ curl https://eventbus-schema-bs-qa.server.lan/subjects/MyEvent-v1/versions/8 | jq -r '.schema' | jq > 8
$ curl https://eventbus-schema-bs-qa.server.lan/subjects/MyEvent-v1/versions/9 | jq -r '.schema' | jq > 9

$ diff -U 5 8 9
--- 8   2021-05-25 16:51:21.416603077 +0200
+++ 9   2021-05-25 16:51:25.072629744 +0200
@@ -326,10 +326,22 @@
                 "type": "string",
                 "avro.java.string": "String"
               }
             },
             "doc": "* List of optional claim names"
+          },
+          {
+            "name": "voluntary",
+            "type": {
+              "type": "array",
+              "items": {
+                "type": "string",
+                "avro.java.string": "String"
+              }
+            },
+            "doc": "* List of voluntary claim names",
+            "default": []
           }
         ],
         "version": "1.0.0"
       },
       "doc": "* Info about the requested claims"

@sbernauer : based on our offline sync up. I guess you are explicitly setting target schema to old schema even though Hudi's table schema got evolved to new schema. not sure if hudi can do much here. If you hadn't set any target schema or set to RowBased, hudi could try to evolve your old records to latest table schema.

Just to update everyone in the thread.
Regular schema evolution (adding new columns) does not have any issues w/ deltastreamer. This is not so common use-case where in, once hudi's schema got evolved, users wish to route records w/ older schema and expects hudi to handle them. The patch that have been put up addresses this particular issue. Wanted to clarify with everyone that basic schema evolution is working as expected with deltastreamer.

@nsivabalan whats the next step for this pr

From my sync up with @sbernauer, https://github.com/apache/hudi/pull/2927 and https://github.com/apache/hudi/pull/3111 are required. 3111 is already merged, and 2927 is up for review.
We can close this one though 2012 as 2927 is a replacement.

can we close this, given #2927 is landed?


Compiling Zephir on Windows

I install Zephir from composer. But is not running becouse is mising, the parser and Exception
I follow this steps from this url http://blog.benoitblanchon.fr/build-php-extension-on-windows/ And i succefuly copile de parser (phpzephirparser.dll) in Windows 10 x64, with PHP 5.6.23 x64 and VC 11
I am tring to compile de Zephir extension.
But a this time i have this errors :
zephir.c(152) : error C2198: 'zephircompileclass' : too few arguments for call

if (!memcmp(ZSTRVALP(type), "class", strlen("class") + 1))
{
    zephircompileclass( context, z ); # This
}

zephir.c(233) : error C2065: 'zendglobalsid' : undeclared identifier
zendzephirglobals *zephirglobalsptr = ZEPHIRT_VGLOBAL; # This

How to solve this problems to build Zephir?
Thank in advance

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

I am tring to compile de Zephir extension to solve :
D:\Zephir_ext\sriutl\sriutl>zephir build
Zephir\Exception: Extension namespace cannot be loaded --> this

@amichelins Could you please provide a bit more code to reproduce.

I'm closing this issue due to the lack of any reaction. I'll open it again if the need arises


PROTOCOL_SSLv3 is not defined error

Is there any work around for this bug currently on this docker image?
https://github.com/gevent/gevent/issues/513

Is it still broken?  Do you have an example?  The images contain python compiled from source tarballs directly from python.org and the linked issue has been merged/fixed in python itself.  Do you know what releases of python this was fixed in?

it is still broken.
steps to reproduce:
$docker run -it --rm python:2-onbuild /bin/bash
#pip install gevent
#python
>>>> from gevent import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/gevent/ssl.py", line 386, in <module>
    def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv3, ca_certs=None):
NameError: name 'PROTOCOL_SSLv3' is not defined

This seems like it's relevant: (from https://docs.python.org/2/library/ssl.html#ssl.PROTOCOL_SSLv3)

This protocol is not be available if OpenSSL is compiled with the OPENSSL_NO_SSLv3 flag.

We just use OpenSSL from the Debian archive, but in looking at it on http://sources.debian.net/src/openssl/1.0.1j-1/debian/, I don't see anything explicitly disabling SSLv3, so I'm a little confused.  Maybe I'm just missing something and someone else has a better eye?

I just hit this bug, too. I am no expert in this, but apparently the standard python on debian was patched to fix this bug. Is it possible this python would work with this patch?

Do we have a possible solution to fix this?

Two weeks later, all the Python 2.7 images still appear to be broken, including "python:2.7.9". Does anyone know an alternative image that can run gevent?

@hheimbuerger

@yosifkit: Do we have a possible solution to fix this?

If there's a good, upstream-supported way for us to fix this, we want the fix.

For some reason the gevent maintainer has not been active in many months and there has been no new release. But the patch is already in master. Our solution was to update gevent from github on top of the debian base image.

Seems the fix was released: https://github.com/gevent/gevent/blob/1.0.2/changelog.rst#release-102-may-23-2015
Whats next?

I think the next thing to do would be to close this issue -- I can confirm that it's fixed:
$ docker run -it --rm python:2.7 bash
root@d8e79d80b016:/# pip install gevent
Collecting gevent
  Downloading gevent-1.0.2.tar.gz (1.7MB)
    100% |████████████████████████████████| 1.7MB 222kB/s
Collecting greenlet>=0.4.7 (from gevent)
  Downloading greenlet-0.4.7.zip (77kB)
    100% |████████████████████████████████| 77kB 3.1MB/s
Building wheels for collected packages: gevent, greenlet
  Running setup.py bdist_wheel for gevent
  Stored in directory: /root/.cache/pip/wheels/b4/c5/69/cb36960ac7193f6441df14dd58bf639bf944d37dd68c6edf32
  Running setup.py bdist_wheel for greenlet
  Stored in directory: /root/.cache/pip/wheels/d4/31/01/87f564270b259398bb74f0fcbd485f5009f3b26a879beec2d3
Successfully built gevent greenlet
Installing collected packages: greenlet, gevent
Successfully installed gevent-1.0.2 greenlet-0.4.7

:+1:


Support all integer literals

Like "u" for unsigned, e..g 4u (being equivalent to (uint)4). See: https://msdn.microsoft.com/en-us/library/aa664674(v=vs.71).aspx

Yes, that would be possible. I will add the feature in my TODO list, of course any help is appreciated 😃

Thank you.

Its been over 5 years. Is the enhancement still on the "TODO list"?


Print the planned and actual assertion count when incorrect.

Fixes #102
The assertion error already had expected and actual properties, but only the tap reporter displays those. Instead of modifying existing reporters to handle the special case of planned assertions, I took the easy way out and just dynamically generated the error message.

:shipit:


Add a button to mute a PR until next update

This is a massive PR with a fair few changes:

introducing fontawesome icons, so we have a nice "mute" icon
splitting up Button into SmallButton + LargeButton
refactoring badge and notification update so it's triggered from GitHubState consistently
adding MuteConfiguration and using it to filter out muted PRs

This fixes #64.


Fix a paginator bug involving optional tokens.

This bug causes the route53 list_resource_record_sets paginator to skip over records in certain cases.
list_resource_record_sets uses a 3-tuple of pagination tokens, but one of them will be absent on some records. If the second page starts with a 3-token item and the third page starts with a 2-token item, the previous third token will get left in the request parameters, causing the backend to advance past the targeted item.

Current coverage is 97.57% (diff: 100%)

Merging #1057 into develop will increase coverage by <.01%

@@            develop      #1057   diff @@
==========================================
  Files            44         44
  Lines          6917       6918     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6749       6750     +1
  Misses          168        168
  Partials          0          0

Powered by Codecov. Last update 351d276...b63fcd3


Can't respond to @x emails

Confirmed, this happens when responding using iOS mail.

It might be working fine, can't repro anymore.


Get fonts, colors, and icons into app

Our design team has given us font, colors, and icons for the project. These need to be integrated consistently throughout the app. See below.

Hi, I'm having trouble creating a postgres database. Every time I enter ./psql -U postgres into the command line and am prompted to enter the password, it won't accept any input. Not sure what is causing this, would you have any advice?

What OS are you on? Have you checked the latest docs in SETUP.md?

I'm on Windows 11 and yes, I'm specifically stuck at the Create a New Database section step 1

Try:
Enter the Password Blindly: After the ./psql -U postgres command, when prompted for the password, they should type the password and press Enter, even though nothing appears on the screen. This is the standard behavior for many command-line based password prompts.

Ensure Correct Password: They need to be sure they are entering the correct password for the postgres user. This would be the password set during the installation of PostgreSQL.

Run as Administrator: Sometimes, running PowerShell as an administrator can resolve permission issues. Right-click on the PowerShell icon and select 'Run as Administrator', then try the process again.

Check PostgreSQL Service: Ensure that the PostgreSQL service is running. They can check this by searching for 'Services' in Windows, opening it, and looking for PostgreSQL in the list. If it's not running, they should start it.

Verify PostgreSQL Installation: If they continue to have issues, they should verify that PostgreSQL is installed correctly and that the path they are using in the cd command is correct for their installation.

Check for Special Characters: If their password contains special characters, sometimes these can cause issues in command line environments. They might want to try changing the password to something simpler temporarily to test this.

I don't recall creating a password when installing postgres and have tried a variety of ways to figure out what that password might be. Do you have any further recommendations?

@jepoy92 sorry for missing your comment! I was away from my computer for a while. must have gotten buried in my email. we've switched to mapbox for most of our important data storage, so you can now work on the UX without needing to set up postgres at all. if you're still interested in contributing to front end stuff, check out our other open issues! we could use some styling help :)


image src is incorrect

Laravel Version: 5.5.
Voyager Version: 1.1
PHP Version:7
Database Driver & Version: mysql

Description: hi Dear,
sorry for my bad english,
I use voyager on localhost(xampp server),
but i have a problem: image url is incorrect and does not show on page.
for example it is my project url : http://localhost:1168/dr_sol/public/ and in config/voyager.php : 'storage' => [
'disk' => 'public',
],
but when page is loaded i see this address for image src : http://localhost/storage/users/April2018/cvwmHaXgq3mdN74WShAD.jpg
it should be something like this : http://localhost:1168/dr_sol/public/storage/users/April2018/cvwmHaXgq3mdN74WShAD.jpg
so how can i edit this path url ?
many thanks.

The first link is absolutely correct, it should not contain /public.
Also please set your APP_URL as described in our readme.
Additionally, also make sure you followed to Laravel installation guide.

As @emptynick mentioned, you should create a vhost in your webserver (xampp's apache config in your case) that points at your app's public folder.  This is best practice, and will resolve your problem.
In the case that you can't do that for whatever reason, you'll need to figure out how to do it.  Voyager works perfectly fine with the "best practice" installation, so it's not a bug with Voyager.  You will need to set your APP_URL to include the port number (1168) at the bare minimum, and may need to change the filesystem configuration as well.  Unfortunately, that's as far as we can go on here.  If you need more help, you're welcome to join our Slack and ask, or better yet, ask in a more general Laravel support forum, like the LaraChat slack group.

Many Thanx. it works perfectly


Can't set control space keybindings

Issue Type: Bug
I go to preferences -> keyboard shortcuts
Then double click on the keybinding column to edit a keybinding.
I hit 'control space' but nothing happens only the control character is written.
I don't think mas os captures the keybinding because i can use it in other apps.
VS Code version: Code 1.27.2 (f46c4c469d6e6d8c46f268d1553c5dc4b475840f, 2018-09-12T07:04:11.329Z)
OS version: Darwin x64 15.6.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-3820QM CPU @ 2.70GHz (8 x 2700)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.30GB free)

Process Argv
/Users/julien/Downloads/Visual Studio Code.app/Contents/MacOS/Electron

Screen Reader
no

VM
40%

Extensions (9)

Extension
Author (truncated)
Version

htmltagwrap
bra
0.0.7

path-intellisense
chr
1.4.2

bracket-pair-colorizer
Coe
1.0.60

react-native-react-redux
EQu
1.9.1

prettier-vscode
esb
1.6.1

flow-for-vscode
flo
0.8.4

indent-rainbow
ode
7.2.4

emacs-region
t-y
1.3.0

JavaScriptSnippets
xab
1.7.0

Solved, VMware fusion was catching the control_space key everywhere, even when VMware app is killed.


Update base16 repo paths

Hi @titaniumtraveler, a group of us are working on continuing the work of base16 on tinted-theming. Most of us were involved with base16 before we created tinted-theming. It was a bit of a process creating the org, but you can read follow the issues about it here: https://github.com/tinted-theming/home/issues/51
There was a lot of talk about creating a base16 organization dating back to 2016, but ultimately, last year, Chris nuked the repo entirely, so there's no history, issues, etc anymore.
I came across your repo because I'm building base16-builder-rust and also rewriting base16-shell profile_helper.sh functionality in rust.
The links I've replaced in this PR updates to the tinted-theming equivalent paths. The original base16 repos issues have been deleted and history nuked, so any future updates to won't exist there.
We will continue to have builder spec updates, currently working on version 0.11.0, so some implementations may change slightly in future as things grow. Would you be interested in joining the tinted-theming org and moving the repo there? If you're not interested in that, that's totally fine and maybe we can work closely with each other to update it as the base16 spec evolves if it's needed?

Hey @JamyGolden, sorry for the late answer.

I came across your repo because I'm building base16-builder-rust and also rewriting base16-shell profile_helper.sh functionality in rust.

I originally wrote this crate for flavours to replace the old base16 building system it used to use to fix some issues like base24 support and generally improving performance.
The old implementation used a number of string replacements, which where horrible for performance, hard to extend and didn't handle a few edge cases correctly.
See this PR: flavours#76.
Currently flavours is in the process of overhauling its scheme/template source management and adding compatibility with scheme-monorepos in the style of https://github.com/tinted-theming/schemes.
See flavours#79, specifically Misterio77's comment.
I'm currently working on a prototype for achieving this overhaul, but progress is slow. (Mostly because of not having much time to work on it.)
(At time of starting the prototype I actually didn't know about the schema-change of the schema-files, so I would have had to change this crate at some point anyways. So this PR is pretty good timing. :laughing:)

We will continue to have builder spec updates, currently working on version 0.11.0, so some implementations may change slightly in future as things grow.

Compatibility with 0.11.0 would require a few changes, both for the schema and the template resolver (the group of functions that parse the field of the template and return what should be put into it).
My ideal solution would be to versioned implementations of both + an compatibility version that just tries all it can to reach a result.
For that purpose it might be nice if https://github.com/tinted-theming/home had tags pointing to the different versions, so they can be easily linked.
As for base16 vs base24: Currently my implementation uses a BTreeMap and a bit of serde magic to theoretically support up to base256 (as the different colors are represented as an u8). Though this could be changed to be generic over different versions, for example to make sure that a schema that is declared as base16 isn't misinterpreted as base24, or a base16-template isn't filled with values from base24 if it has base24-fields, (which would technically be against spec).
One difference I noticed in the spec is the removal of hsl-support.
Was that a conscious decision or was there any reasoning behind it?
Because there seem to be users of it.

Would you be interested in joining the tinted-theming org and moving the repo there? If you're not interested in that, that's totally fine and maybe we can work closely with each other to update it as the base16 spec evolves if it's needed?

Moving the repo seems like a good idea.
Though I would rather wait with that and changing the links until after the refactors I described above, so I can make sure the links point to the right specs and there is no drift between implementation and spec.

I was surprised that I missed the removal of hsl in the PR so I had a look at it and noticed it wasn't removed there. I found a commit which removes that from the spec, and it was actually ages ago in 2016: https://github.com/tinted-theming/home/commit/11e98d78b1241c8552c4ce52e6f3f1acdcd32fb0
We could look at re-adding it though if it's something that there is a demand for. Tagging @belak
Ok great about moving the repo after the changes are done :) I'll work on an implementation of base16-builder-rust using base16_color_scheme in it's current form and update it to support 0.11 once you're done with the new version.

@JamyGolden What is your opinion on the base16 vs base24 thing?
I don't care that much that it would be technically more correct to separate it them,
but on the other hand it would not be hard and basically would only require like one generic and a helper trait.

@titaniumtraveler the idea with 0.11.0 was to create a more generic scheme system that can be used by different formats - which are differentiated by the new system yaml property. So builders shouldn't treat base16 as the "primary" system. I think it would be good to continue building this with that in mind and in my opinion just have them all living in this repo. Perhaps in the future this repo supports building for base16, base24, ansi16, etc.

Okay, then I will build it with that in mind.
Thank you

Hey @titaniumtraveler I ended up creating a base16/base24 builder myself (cli and library): https://github.com/tinted-theming/tinted-builder-rust. I also created a mustache template rendering engine which I'm using in the builder: https://github.com/tinted-theming/ribboncurls. If you find them interesting and you want to be involved in either of those repos let me know and I can add you as a maintainer :smile:

Hey @titaniumtraveler I ended up creating a rust base16/base24 builder myself (cli and library): https://github.com/tinted-theming/tinted-builder-rust. I also created a rust mustache template rendering engine which I'm using in the builder: https://github.com/tinted-theming/ribboncurls. If you find them interesting and you want to be involved in either of those repos let me know and I can add you as a maintainer 😄

Thanks for the message @JamyGolden,
I'm currently am busy with another project I want to finish soonish (a async mpd client based on serde), but after that I will take a look at it.
I had a few ideas about base16_color_scheme I never got to implement and might look into porting them to your project.
Mostly around compatibility with the different versions of base16, because I (and potential users) don't want to care about which version something uses and things should just work.
Also maybe some tools for conversion between the different formats might be nice.

Nice, serde_mpd looks really interesting and I'm looking forward to see what you build using it in future :smile:
Yes it would definitely be good to have the builder work with all base16 versions since as you say the users don't know or care about versions.


start edit browser url text field

https://user-images.githubusercontent.com/96283950/209701003-f29917d8-5fc2-44d5-94db-f63717282fc8.mov
@hboon can u please try to reproduce it on your side? not able reproduce all the time, but happens too often

@oa-s I see this sometimes. And sometimes tapping on the textbox doesn't focus on it at all, and then I think I have to kill the simulator to fix it (rebuilding or killing the app definitely didn't help). But only on the simulator.
Were you able to reproduce either issue on the device?

This happens only on simulator for me. I had to turn off "connect hardware keyboard" to get it to work under the simulator.

Then maybe it will manifest on device with a hardware keyboard.


Add support for Xcode 12 (iOS 14)

Tool information

Tool name: Xcode 12
Add or update? Add
Desired version: latest
Approximate size:
If this is an add request:

Brief description of tool: Apple version
URL for tool's homepage: https://developer.apple.com/xcode/

Hello @zevmo , we have already started to work on updating Xcode 12 beta 6 to Xcode 12 GM on images. We are expecting new image to be deployed early next week

Awesome! Thanks @maxim-lobanov

@maxim-lobanov Please do NOT replace Xcode 12b6 with the GM seed! The GM seed does not have Big Sur SDK support, so workflows that are targeting Apple Silicon and/or Big Sur need to keep using Xcode 12b6.
Apple's notes say "Xcode 12 includes everything you need to create amazing apps for all Apple platforms. Includes the latest SDKs for iOS, watchOS, and tvOS, and macOS Catalina. For development on macOS Big Sur or to support Apple silicon, continue to use Xcode 12 beta 6."

Apple pushed a second GM seed late this evening, build 12A7209 instead of ...08. Please download the new one (shasum 1b69c0f8e7b35c1456211143bbb06c671fcfaaec instead of bc0a...) if you downloaded the GM before 7pm Pacific time on Tuesday September 15th.

@eschwieb , thank you for your input!
We will install both Xcode 12 beta 6 and Xcode 12 GM on image side by side.

@maxim-lobanov Any chance that we could get this fast-tracked? As far as I'm aware, it's necessary for creating iOS 14 compatible app builds and iOS 14 was released to the general public today.

Hello everyone!
We are on way to deploy new image that contains both Xcode 12 (12A7209) and Xcode 12 beta 6.

Xcode 12 (12A7209) is located on path: /Applications/Xcode_12.app
Xcode 12 beta 6 is located on path: /Applications/Xcode_12_beta.app

All Azure DevOps machines has already been updated and contain new image.
GitHub Actions deployment is still in progress (some machines can contain an updated image, but some machines old one) and we are expecting deployment to be finished in 3-4 hours.

The new image with stable Xcode 12 has been deployed! Xcode 12 beta 6 is also on the image.

@zevmo I'm going to close the issue. Feel free to contact us if you have any concerns.
Thank you!

Thank you‼
On Sat, Sep 19, 2020 at 6:03 AM Mikhail Timofeev<EMAIL_ADDRESS>wrote:

The new image with stable Xcode 12 has been deployed! Xcode 12 beta 6 is
also on the image.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/actions/virtual-environments/issues/1599#issuecomment-695193777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AORRNBDF62IW6IJAKW4PFWTSGR6XTANCNFSM4RNU5BMQ
.
--
Henry P. Briffel

This message and any attachment are confidential. If you are not the
intended recipient, please telephone or email the sender and delete the
message and any attachment from your system. If you are not the intended
recipient you must not copy this message or attachment or disclose the
contents to any other person.

Is "Apple Silicon" cross-compilation supposed to work by now? I cannot compile the most basic Hello World with Xcode 12b6:
cc --version
Apple clang version 12.0.0 (clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode_12_beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
cc main.c -o x86_app -target x86_64-apple-macos10.12
cc main.c -o arm_app -target arm64-apple-macos11
In file included from main.c:1:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:68:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
#error Unsupported architecture

@alexhultman no, Apple Silicon support was removed from Xcode 12.0. It ships with the macOS 10.15 Catalina SDK.
It was moved to Xcode 12.2 beta, which includes the macOS 11 SDK.

New image with Xcode 12.2 beta should be available in 1 day

what's the default version of Xcode? At the moment, when I use xcodebuild I don't see macos-arm64 symbols. Do I need to use xcode-select -switch? If so, what should be the path and shouldn't it make sense to always have selected the last version by default?

This is how I do: https://github.com/alexhultman/macOS-ARM64-build
I don't have the actual M1 computer to test it, but it does generate a binary

@alexhultman this is what I’m talking about, you do sudo xcode-select -switch /Applications/Xcode_12.2.app. Wouldn’t it make sense to have the last version of Xcode as default in the macOS image? Otherwise we’ll need to be modifying the version ourselves and it could eventually fail if that version is removed from the image.

It makes a lot of sense to some people (indie?). not so much for others (enterprise?). Opinions come in a wide spectra and you can never satisfy every opinion.

@fermoya , based on our experience, updating default Xcode right after release new version brings a lot of pain and customers' complains since their builds can not be adapted for this. So I always suggest to specify exact version in your pipeline to be more resistant to image updates and image "default".
The list of all Xcode versions with paths can be found in documentation: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md#xcode
As an alternative solution, you can use setup-xcode GitHub Action with "latest-stable" keyword.
Usually, we change default version in a few weeks after release. We are planning to set Xcode 12.2 as default in a week: https://github.com/actions/virtual-environments/issues/2056


[CoAP] Adding CLI commands

Adds CLI commands for a simple CoAP client and server with one resource called "test". Supports Non- and Confirmable requests...
I was playing around and thought due to the many requests on the google group it might be useful to have this functionality as an example working "out of the box". It's by far not finished but I just wanted to see if something like is wanted/useful.  And I'm also just getting warm with C again...

@nibanks : Yeah, shouldn't be a problem. Do you or @jwhui have a suggesstion for the directory/file structure?

Codecov Report

Merging #1539 into master will decrease coverage by 1.19%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #1539     +/-   ##
=========================================
- Coverage   69.81%   68.62%   -1.2%
=========================================
  Files         151      150      -1
  Lines       20119    19853    -266
  Branches     2456     2421     -35
=========================================
- Hits        14046    13624    -422
- Misses       5149     5332    +183
+ Partials      924      897     -27

Impacted Files
Coverage Δ

src/cli/cli.cpp
37.52% <ø> (ø)
:arrow_up:

examples/platforms/posix/misc.c
0% <0%> (-66.67%)
:arrow_down:

src/ncp/ncp_base.cpp
19.11% <0%> (-16.45%)
:arrow_down:

src/core/net/ip6.cpp
53.45% <0%> (-12.45%)
:arrow_down:

src/core/net/icmp6.cpp
78.88% <0%> (-4.45%)
:arrow_down:

src/core/net/netif.cpp
59.37% <0%> (-3.65%)
:arrow_down:

examples/platforms/posix/uart-posix.c
59.55% <0%> (-3.38%)
:arrow_down:

src/core/net/ip6_mpl.cpp
91.6% <0%> (-2.3%)
:arrow_down:

src/core/common/message.cpp
94.6% <0%> (-1.66%)
:arrow_down:

src/core/thread/lowpan.cpp
92.29% <0%> (-1.44%)
:arrow_down:

... and 5 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 959b648...a53e1c6. Read the comment docs.

I think it makes sense to separate this out into a separate file.  I think we need to generally clean the CLI component up.  But, for now, you could reference cli_dataset.cpp as an example.  Basically, have a top-level CLI in cli.cpp that calls into something like cli_coap.cpp.

Another paradigm that can work with the current structure with minimal changes is to keep the ifdefs in cli.hpp to define ProcessCoapServer and ProcessCoapClient, keep the ifdefs in cli.cpp to map the command strings to those calls, and then simply move your current implementation of Cli::ProcessCoapServer and Cli::ProcessCoapServer into a new file named cli_coap.cpp.  Then in Makefile.am, only include cli_coap.cpp based on the ifdef.

@turon, yes, that's exactly how the example in my prior comment works.

@jwhui, sure, just saying you don't need to restructure everything to implement a second sub-Interpreter class as cli_dataset.cpp does, and you may not need a cli_coap.hpp.

@turon, benefit of creating a new class is that you can encapsulate related member variables and reduce the number of overall #ifdef.

I've moved everything into a new CLI class in new files and fixed most of the comments from @LuDuda . Looking forward to further comments!

Few more comments:

Update the Makefile to include the new source files.
Update the Travis scripts to include this in the pretty-check target and build.
Update the README.md to include the new commands and example output.

I've made some changes and added README and Makefile as well @jwhui. I'm not sure on the travis side but as the whole cli folder is party of the PRETTY_DIR this should be fine now.

I've changed the output to HEX now (for the time being) and hopefully got all the other comments from @jwhui and @aeliot as well. I also made some small changes that I found annoying while testing...

Thanks @jwhui for the input, I've updated the documentation.

Thanks for the input @LuDuda, pushed a new commit.


No-op revendor installer

This is a special revendor.
A prior commit (#2463 / d8ebe585) included installer as a dependency in our apis/ package for the first time. This was causing problems for downstream consumers seemingly because the pseudo-version generated by go mod represented a years-old tag with a recent commit, resulting in excessive churn in the go sum database -- see the referenced bug report.
Now a tag has been created at that commit to make this pseudo-version less gappy, hopefully eliminating this problem for downstreams.
So this commit revendors to that tag, which computes to the same commit, so there is no actual change in vendoring -- only to go module metadata.
OCPBUGS-42448
HIVE-2512

/lgtm

/test security
I added v0.90.99 to the failing CVE fix version. Let's see if snyk picks it up.

/lgtm